繁体   English   中英

导出到jar后的eclipse项目不起作用

[英]eclipse project after exporting to jar doesn't work

我的Eclipse work_space中有2个项目。 项目A:通过少量编辑即可获得Apache Tomcat的源代码(并有一些依赖的jar)。 项目B:一个小项目调用一种方法[项目A的方法的一种方法]。

因此,当我在项目B中使用项目A(添加到BuildPAth的项目中)或在项目A中测试此方法有效时。 但是,当项目B使用导出的项目A的jar文件不起作用时(仅从项目B的BuildPath中删除项目A并添加A的jar文件)。 抛出的异常是:

   Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/tools/ant/util/FileUtils
    at org.apache.jasper.JspC.resolveFile(JspC.java:1602)
    at org.apache.jasper.JspC.setOutputDir(JspC.java:863)
    at org.apache.jasper.JspC.setArgs(JspC.java:276)
    at org.apache.jasper.JspC.main(JspC.java:241)
    at jspCompiler.pars(jspCompiler.java:65)
    at jspCompiler.main(jspCompiler.java:100)
    at maintst.main(maintst.java:11)
Caused by: java.lang.ClassNotFoundException: org.apache.tools.ant.util.FileUtils
    at java.net.URLClassLoader$1.run(Unknown Source)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    ... 7 more

问题在哪里?

编辑

Maintst.java

import jspParser.jspCompiler;
public class maintst { 
  public static void main(String[] args) throws Exception { 
    jspCompiler cmp=new jspCompiler();
    cmp.main(new String[]{"F:\\arshad droos\\Thesis\\secureBranch\\personalblog\\build","F:\\arshad droos\\Thesis\\secureBranch"}); 
  }
}

浏览Apache Tomcat的代码时,找不到org.apache.tools.ant.util.FileUtils 由于从eclipse运行,因此这可能意味着Project A在具有此文件的构建路径中具有一些jar。 找到它,放入Project B的构建路径中,一切正常。

Eclipse有fatjar 插件命名。 将这个jar安装到eclipse插件后(将过去的jar文件复制到eclipse的插件目录),在Export菜单中选择jar fat。 这样,导出的jar的大小很大,但是独立的

谢谢。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM