我只是“继承”一个Java项目,而不是来自Java背景,我有时失去一点。 Eclipse用于在开发期间调试和运行应用程序。我已经通过Eclipse成功创建了一个.jar文件,’包括’所有所需的外部jar,如Log4J,xmlrpc-server等。这个大的.jar可以成功运行:
java -jar myjar.jar
我的下一步是使用Ant(版本1.7.1)自动构建,所以我不必涉及Eclipse来做构建和部署。这已被证明是一个挑战,由于我缺乏java知识。项目的根如下所示:
|-> jars (where external jars have been placed)
|-> java
| |-> bin (where the finished .class / .jars are placed)
| |-> src (Where code lives)
| |-> ++files like build.xml etc
|-> sql (you guessed it; sql! )
我的build.xml包含以下内容:
basedir="${build.dir}"
manifest="${manifest.file}">
然后我运行:
蚂蚁清洁构建罐
并且名为seraph.jar的文件放在java / bin / jar目录中。然后我尝试使用以下命令运行此jar:
java -jar bin / jar / seraph.jar
结果是在控制台输出:
Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/log4j/Logger
at no.easyconnect.seraph.core.SeraphCore.(SeraphCore.java:23)
Caused by: java.lang.ClassNotFoundException: org.apache.log4j.Logger
at .URLClassLoader$1.run(URLClassLoader.java:200)
at java.security.AccessController.doPrivileged(Native Method)
at .URLClassLoader.findClass(URLClassLoader.java:188)
at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
at java.lang.ClassLoader.loadClass(ClassLoader.java:252)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:320)
... 1 more
Could not find the main class: no.easyconnect.seraph.core.SeraphCore. Program will exit.
我怀疑我在build.xml文件中做了一件惊人的傻事,并且花了两天的更好的一部分尝试变化的配置,无济于事。任何帮助获得这种工作非常感谢。
哦,对不起,如果我留下一些重要的信息。这是我第一次在这里张贴在SO。