首页 文章

在Eclipse部署程序集中将Web项目添加为jar

提问于
浏览
2

我现在正在研究的网站由几个java项目和一个引用它们的主要Web项目 A 组成 . 我正在使用的IDE是Eclipse Helios .

我想要完成的是在堆栈中添加一个新项目 B . 该项目也被主要项目引用,但它本身就是一个Web项目 . 当我将 B 添加到 A 的部署程序集时,在发布时,Eclipse会自动将其打包为战争并将其部署到服务器的 WEB-INF/lib .

我希望它被部署为jar,但也保持项目的Web性质,因为它具有在其上运行的一些功能(和测试) . 我有用于构建 B 的jar的ant任务,但我不确定是否可以让Eclipse从Web项目中部署jar .

我可以手动添加jar(作为工作区中的存档),但这意味着只要有人清理所有项目, B 的jar就会被删除而不会生成,因为构建只编译类,部署将它们打包成战争 .

附:我知道设计很差,但改变它是不可能的,因为我没有权限:) .

3 回答

  • 1

    我发现以下解决方案对我有用 Eclipse Luna

    • 项目B“项目构面”:选择“公用程序模块”而不是“静态Web模块”或“动态Web模块”

    • 项目A“部署程序集”:删除“B”并再次添加它 .

    => B的“部署路径”现在是B.jar

  • 2

    最简单的方法是:文件 - >导出... - > Java - > Jar文件

    要使用ant:打开项目属性,请转到Builders,单击new,选择Ant Builder等 .

  • 1

    你可以这样做:

    • 编写一个shell / batch脚本

    • 调用项目B的ANT脚本,该脚本创建一个JAR文件 .

    • 然后,它调用项目A的ANT脚本 .

    • 更新项目A的ANT脚本,添加复制任务 . 此文件复制任务将使用相对路径将步骤1中创建的JAR文件复制到项目A的WEB-INF / lib目录 .

    • 在Eclipse中,转到 External Tool > External Tools Configuration > Program > New Progam 并将此Shell / Batch脚本添加到它 .

    无论何时你想 Build . 从菜单运行此外部工具 . 这将确保

    • 您的构建始终具有最新的B项目

    • ANT任务将保持较小 .


    Adding a Web Project in an Eclipse Deployment Assembly

    我不知道任何这样的事情,直到Thorbjørn Ravn Andersen指出另一个question where I answered . 如上所述:

    部署中的内容不是由构建路径确定,而是由动态Web项目的“首选项”中的“部署程序集”条目决定 .

    但是,可能是,你已经尝试过了 .


    编辑#1:固定语法编辑#2:添加更多信息

相关问题