本来是一个web工程暂时叫 aaa,但是最近进的新员工比较多,怕改出问题,所以把一些比较核心的,通信类什么的抽出来,打成jar包,这样防止误修改,
1、一开始新建了一个工程 暂时叫bbb ,然后把这些类扔过去,报错,要引用很多第三方的jar,没搭理它,直接生成bbb.jar文件,然后导入回工程aaa中,编译没有错误,但是项目启动的时候会报找不到类,是第三方jar包中的类
2、bbb中 java build path 中,加入第三方jar,然后生成bbb.jar,然后导入回工程aaa中,编译没有错误,运行ok
3、新建的bbb选择为java工程就有问题,新建成web工程就可以,
bbb 为JAVA工程时aaa启动报错
The type javax.servlet.http.HttpServletRequest cannot be resolved. It is indirectly referenced from required .class files
按照网上找的方法,都操作了,但是没有效果,暂时只能是新建web工程了
http://blog.csdn.net/xzknet/article/details/3505505
这里有比较详细的说明
如果自己的java project中需要引用额外的jar包作为资源文件,那么需要自己自定义配置文件MANIFEST.MF ,内容示例如下:
Manifest-Version: 1.0
Class-Path: lib/crimson.jar lib/jbcl.jar lib/junit.jar lib/log4j-1.2.13.jar lib/mysql-connector-java-3.1.13-bin.jar
Main-Class: src.YourMainClassName
其中的Class-Paht就指定了外来jar包的位置。请注意假设我们的项目打包后为project.jar,那么按照上面的定义,应该在 project.jar的同层目录下建立一个lib文件夹,并将相关的jar包放在里面。否则将会出现Exception in thread “main” java.lang.NoClassDefFoundError的错误。
最后介绍一下使用Eclipse制作jar包的过程吧:
1. 首先在Eclipse中打开项目, 右键点击项目,选择“Export”;
2. 选择Java/JAR file,Next;
3. Select the resources to export中可以选择你想要包含的项目文件夹,一些不必要的文件夹就无需放进去了,免得增大空间;
这里有几个选项:
* Export generated class files and resources 表示只导出生成的.class文件和其他资源文件
* Export all output folders for checked projects 表示导出选中项目的所有文件夹
* Export java source file and resouces 表示导出的jar包中将包含你的源代码*.java,如果你不想泄漏源代码,那么就不要选这项了
* Export refactorings for checked projects 把一些重构的信息文件也包含进去
在Select the export destination中选择导出的jar的路径,Next
4. 下一页可以选择是否导出那些含有警告warning或者错误errors的*.class文件。一般不用理他,Next
5. 下一个页面里可以对项目做一些配置。
* Generate the manifest file是系统帮我们自动生成MANIFEST.MF文件,如果你的项目没有引用其他class-path,那可以选择这一项。
* Use existing mainfest from workspace。这是可以选择我们自定义的.MF文件,格式如上所写。
* Seal content。要封装整个jar或者指定的包packet
* Main class。这里可以选择你的程序入口,将来打包出来的jar就是你这个入口类的执行结果。
最后Finish,搞定。
原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/13611.html