我有两个项目 - Project1 和 Project2。Project1 包含所有的 java 类。而project2包含了project1中需要的所有jar文件。意味着,Project1 取决于 Project1(对于 jars)。
我正在使用 Glassfish 服务器。在创建 Project1 的 war 文件时,我包含了 project2 中的所有 jar 文件。
示例:
Project2 包含 2 个包 - POI 和 Web 服务。
POI包包含:
poi-examples-3.6-20091214.jar、
poi-contrib-3.6-20091214.jar、
poi-ooxml-3.6-20091214.jar、
poi-ooxml-schemas-3.6-20091214.jar、
poi-scratchpad- 3.6-20091214.jar。
web-services 包包含:
javax.servlet-3.0.jar、
javax.servlet-api.jar、
jersey-bundle-1.10.jar、
jersey-client-1.12.jar、
jersey-core-1.12.jar、
jersey-multipart- 1.4.jar。
现在为了从命令提示符创建 Project1 的 war 文件,我使用了以下命令:
jar cvf Project1.war D:\JavaProject\Project2\lib\external\poi\poi-examples-3.6-20091214.jar D:\JavaProject\Project2\lib\external\poi\poi-contrib-3.6-20091214.jar D:\JavaProject\Project2\lib\external\poi\poi-ooxml-3.6-20091214.jar D:\JavaProject\Project2\lib\external\poi\poi-ooxml-schemas-3.6-20091214.jar D:\JavaProject\Project2\lib\external\poi\poi-scratchpad-3.6-20091214.jar D:\JavaProject\Project2\lib\external\web-services\javax.servlet-3.0.jar D:\JavaProject\Project2\lib\external\web-services\javax.servlet-api.jar D:\JavaProject\Project2\lib\external\web-services\jersey-bundle-1.10.jar D:\JavaProject\Project2\lib\external\web-services\jersey-client-1.12.jar D:\JavaProject\Project2\lib\external\web-services\jersey-core-1.12.jar D:\JavaProject\Project2\lib\external\web-services\jersey-multipart-1.4.jar
在当前目录中创建的 Project1.war 文件。但是,当我尝试在 Glassfish 服务器上部署 Project1.war 时,遇到了这个错误:
C:\glassfish3\glassfish\domains\domain1\applications\Project1\D:\JavaProject\Project2\lib\external\poi\poi-contrib-3.6-20091214.jar
(C:\glassfish3\glassfish\domains\domain1\applications\ 是部署后复制“.war”文件的目录)
我无法理解这个问题。我为创建war文件而执行的命令有问题吗?使用命令行提示符创建war文件时如何包含外部jar?
请帮忙..提前谢谢!