Velocity Reviews - Computer Hardware Reviews

Velocity Reviews > Newsgroups > Programming > Java > Methodology to remove unused classes?

Reply
Thread Tools

Methodology to remove unused classes?

 
 
wgblackmon@yahoo.com
Guest
Posts: n/a
 
      08-21-2006
My team needs to get rid of classes in a large application that are no
longer used. There are around 1500 class files in total and we estimate
that about 25% of these classes are no longer used. Is there some type
of tool that can identify classes that have been run during a certain
time period or some way to identify these classes other then removing
them from a build and getting compliation errors? We are using Eclipse
as a development tool and Tomcat as a server.

 
Reply With Quote
 
 
 
 
Jeffrey Schwab
Guest
Posts: n/a
 
      08-21-2006
http://www.velocityreviews.com/forums/(E-Mail Removed) wrote:
> My team needs to get rid of classes in a large application that are no
> longer used. There are around 1500 class files in total and we estimate
> that about 25% of these classes are no longer used. Is there some type
> of tool that can identify classes that have been run during a certain
> time period or some way to identify these classes other then removing
> them from a build and getting compliation errors? We are using Eclipse
> as a development tool and Tomcat as a server.


Could you check the access times of the class files?

ls -Rt
(or) dir /s /od
 
Reply With Quote
 
 
 
 
Thomas Hawtin
Guest
Posts: n/a
 
      08-21-2006
(E-Mail Removed) wrote:
> My team needs to get rid of classes in a large application that are no
> longer used. There are around 1500 class files in total and we estimate
> that about 25% of these classes are no longer used. Is there some type
> of tool that can identify classes that have been run during a certain
> time period or some way to identify these classes other then removing
> them from a build and getting compliation errors? We are using Eclipse
> as a development tool and Tomcat as a server.


If you compile with javac just specifying you entry classes, then only
reachable classes will be compiled.

If it's a simple webapp then the entry classes will be servlets,
filters, any listeners in web.xml and any you obtain through
Class.forName. I guess JSPs could potentially reference other classes.
IIRC, Jasper will save the .java files, so they can be specified too.

Once you have all of that compiled, list the class files into a text
file. Use you favourite editor (sed, say) and search and replace to
remove .class and anything from a $. Then do another search and replace
to make it into a shell/batch file to move your used source files from
one directory to another.

Tom Hawtin
--
Unemployed English Java programmer
http://jroller.com/page/tackline/
 
Reply With Quote
 
Thomas Weidenfeller
Guest
Posts: n/a
 
      08-22-2006
(E-Mail Removed) wrote:
> My team needs to get rid of classes in a large application that are no
> longer used. There are around 1500 class files in total and we estimate
> that about 25% of these classes are no longer used.


What is it what you want to remove? You say "class files", this
typically means compiled java source code in files ending with .class,
or do you eman source code (.java files)?

If it is the first, remove them all and recompile. If it is the second,
also remove all .class files, compile your main class, let the java
compiler find the dependencies, check which .class files it had
generated and take the corresponding .java files for a start. You might
need some more files, depending on how your application loads classes.

Oh, and improve your configuration management procedures to avoid such
problems in the future.

/Thomas
--
The comp.lang.java.gui FAQ:
ftp://ftp.cs.uu.nl/pub/NEWS.ANSWERS/...g/java/gui/faq
http://www.uni-giessen.de/faq/archiv....java.gui.faq/
 
Reply With Quote
 
 
 
Reply

Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
automatically remove unused #includes from C source? smachin1000@gmail.com C Programming 32 09-15-2012 11:38 AM
remove unused assemblies (VS2008) ton ASP .Net 5 02-02-2010 12:02 PM
Remove Unused References? Scott M. ASP .Net 0 09-13-2008 06:55 PM
Why we have to remove unused Import Joey Java 18 07-19-2006 08:15 AM
remove unused networks? Limbo Wireless Networking 0 07-02-2005 11:02 AM



Advertisments