Installation
step by step
-
prepare a directory for the project, its source and deploy (here: ~/icecite):
mkdir ~/icecite
mkdir ~/icecite/src
mkdir ~/icecite/deploy -
checkout project from svn to src directory:
machine:~/icecite/src$ svn co http://vulcano.informatik.uni-freiburg.de/svn/student-projects/claudius+erik+ivo
A directory ~/icecite/src/claudius+erik+ivo will be created. - playce your dblp.xml and dblp.dtd in ~/icecite/src/claudius+erik+ivo/data
-
Note: for next step google web toolkit SDK has to be installed.
That means, in icecite.conf PATH_SDK should point to the directory you extracted gwt-2.0.4.zip into.
Note: Make sure ant and tomcat are installed on your system. - go to ~/icecite/src/claudius+erik+ivo/cfg/ and change icecite.conf for your needs (example)
- go to ~/icecite/src/claudius+erik+ivo/java/InvIndex and execute ./compile
- in same directory, after successful build (jar/InvIndex.jar should exist) run ./deploy
- go to ~/icecite/src/claudius+erik+ivo/java/PDFLibraryGUI and execute ./compile
- after successful compile, execute ./deploy.
-
to run InvIndex, change to ~/icecite/deploy/invindex and execute ./run.
PDFLibraryGUI should be work outmatically through tomcat after deploy.
extra: Completesearch
compilation
mkdir completesearch
cd completesearch
svn co http://vulcano.informatik.uni-freiburg.de/svn/completesearch/databases/dblp/
cd dblp
ln -s /nfs/raid1/completesearch/codebase .
cp $PATH_DBLP/dblp.xml .
cp $PATH_DBLP/dblp.dtd .
cp ~/icecite/src/claudius+erik+ivo/completesearch/Makefile .
make parser
make DB=dblp pall
cd completesearch
svn co http://vulcano.informatik.uni-freiburg.de/svn/completesearch/databases/dblp/
cd dblp
ln -s /nfs/raid1/completesearch/codebase .
cp $PATH_DBLP/dblp.xml .
cp $PATH_DBLP/dblp.dtd .
cp ~/icecite/src/claudius+erik+ivo/completesearch/Makefile .
make parser
make DB=dblp pall
make DB=dblp PORT=$PORT start
PDFLibrary additional info
setting up tomcat
- Download and install tomcat: tomcat6, libtomcat6-java, tomcat6-common, tomcat6-user, tomcat6-admin
- Add the following lines to your /etc/tomcat6/tomcat-user.xml to enable admin-features:
<role rolename="manager"/>
<role rolename="admin"/>
<user name="admin" password="secret_password" roles="manager,admin"/>
-
Start/Stop/Restart tomcat with:
sudo /etc/init.d/tomcat6 start/stop/restart - You should be able to see your manage-page here http://localhost:8080/manager/html
- Login with the name and password you just set in /etc/tomcat6/tomcat-users.xml
- Use the tomcat manage-page form (4) and select the war file to deploy
- Tomcat should recognize the war file and expand it with everything you need
- Browse to http://localhost:8080/NameOfServlet/
Troubleshooting
-
"java.lang.NoClassDefFoundError: org/apache/commons/logging/Log"
Eclipse use org.apache.common.logging from gwt-dev.jar, which is not available in web mode. So, use commons-logging-?.?.?.jar by Appache Commons. -
"java.lang.Exception' threw an unexpected exception: java.lang.ExceptionInInitializerError"
This is probably caused by "java.security.AccessControlException", with access denied (stacktrace is printing something like
"access denied (java.util.PropertyPermission guice.custom.loader read)" or
"access denied (java.lang.RuntimePermission getProtectionDomain)".)
If you have any private fields in your serialized RPC Class it will throw such a security error. You will have to enable security permissions with tomcat policies. Here you have different possibilities:
Open /etc/tomcat6/policy.d/04webapps.policy (as root) (you can create a new policy-file, too)-
Add something like
permission java.util.PropertyPermission "guice.custom.loader", "read"; -
or Add something like that
permission java.lang.RuntimePermission "getProtectionDomain"; -
Or you allow ALL permissions in this way:
permission java.security.AllPermission;
-
Add something like