README
------

Brief description
-----------------
This application is to allow us search for files within jar files.

I am going to make this Opensource but once it get little more mature after
getting reviewed by people. I love to make more useful UI but I'm bad at it :)

Motivation
----------
I have found many times that I need to find how many (or which) Jar files
contains a specified class. This is mainly to resolve issues when a class seem
to be existed in multiple Jar files in the classpath and we have huge classpath
and it would be manual work to go to individual Jar files and try to find out
its content via,
- winzip on windows
- using jar tvf command

Also, using this basic technique fails when we want to specify pattern of the
jar file names we might want to specify for search and possibly the jar files
exists in different folders. We end up doing the operation one by one for
individual files.

Of course on some windows system we have the "Search within ZIP file" capability
but we may have turned it off to avoid other regular search performance
penalties. Again here we would not have choice to specify list of folder
folder patterns to look into (but its not a critical issue).

I wish to write Java program to do this as I can just click on the Jar file of
this application on ANY platform and perform the search operation I want rather
than going to any of,
1. Writing shell scripts on Unix/Linux using 'find' command
2. Using windows functionality which is limited to only some windows OS (XP)
3. Devicing means of achieving the functionality which I have to "re-achieve"
   when I am on different OS, different machine 


Directory structure
-------------------
Its pretty straight forward having just one or two packages.


Documentation
-------------
I have written Java doc comments in the code in many places but its still not
mature.
I also have put a screenshot PDF (I am currently on Mac and don't get GIF export
in Preview application :( which would make my screenshot smaller in bytesize),
which would help in understanding how/what to give input to my possibily
non-intuitive application as of now.

I would work on the documentation once I get responses about code/functionality
changes etc from folks.


How to run?
-----------
1. If you have javaw associated with opening jar files then you can just double
click the jar file and you should see the UI of this application

2. You can always do,
java -jar jarsearch.jar (if you have that capability in the java command of the
jvm you are using)

3. Crude and most basic way,
- extract the jar and execute the jarsearch.ui.JarSearchUI manually :(
(of course after fighting little with CLASSPATH issues if you end up having)

Please remember to change the input parameters according to your environment.


Which Java platform it is developed on?
---------------------------------------
1. Java 1.4.2


How to specify patterns for the base directory and jar file names?
------------------------------------------------------------------
A regular expressions supported by Java regular expression package would work
as input. Internally the code is using Pattern class to compile the pattern.


Does it support .zip files for search into?
-------------------------------------------
Not yet but its shouldn't be too difficult as Java has ZipFile package to deal
with zip files but thats for next version.


How to contact me?
------------------
Feel free to email me suggestions, questions etc at,
maulin@javaranch.com?subject=JarSearcher
