Der*_*rek 164 java tomcat maven
我得到了一个maven项目来编译并部署在tomcat服务器上.我从来没有在今天之前使用过maven,但我一直在谷歌搜索.看起来pom.xml这个项目中的顶级文件的包装类型设置为pom.
mvn install为了部署这个应用程序,我该怎么做?我本来希望能找到war某个地方或某个地方的文件,但我想我正在寻找错误的地方或错过了一步.
Tom*_*icz 139
pom基本上是子模块的容器,每个子模块由pom.xml与pom包装相同的目录中的子目录表示.
在某个地方,嵌套在项目结构中,您会发现带有war包装的工件(模块).Maven通常将所有内容构建到/target每个模块的子目录中.所以在mvn install查看target带有war包装的模块中的子目录之后.
当然:
$ find . -iname "*.war"
Run Code Online (Sandbox Code Playgroud)
同样有效;-).
Edw*_*uck 44
pom包装只是一个规范,声明主要工件不是war或jar,而是pom.xml本身.
它通常与"模块"结合使用,"模块"通常包含在相关项目的子目录中; 但是,它也可能用于某些不需要构建主二进制文件的场景,所有其他重要工件都被声明为次要工件
想想"文档"项目,主要工件可能是PDF,但它已经构建完成,并且可能需要在配置上将其声明为辅助工件的工作告诉maven如何构建不需要的PDF编译.
bma*_*ies 21
打包在pom用于聚合其他项目的项目中,以及在其唯一有用输出是来自某个插件的附加工件的项目中使用.在你的情况下,我猜你的顶级pom包括<modules>...</modules>聚合其他目录,实际输出是其他(可能是子目录)之一的结果.如果为此目的明智地编码,它将具有包装war.
要在执行mvn:install时简单回答您的问题,maven将根据(pom.xml中的打包属性)创建一个打包的工件,运行maven安装后,您可以找到扩展名为.package的文件
将工件打包为POM意味着它具有非常简单的生命周期
package -> install -> deploy
Run Code Online (Sandbox Code Playgroud)
http://maven.apache.org/guides/introduction/introduction-to-the-lifecycle.html
如果要部署pom.xml文件或不适合其他打包类型的项目,这将非常有用.
我们在许多项目中使用pom包装,并根据需要绑定额外的阶段和目标.
例如,我们的一些应用程序使用:
prepare-package -> test -> package -> install -> deploy
Run Code Online (Sandbox Code Playgroud)
当你安装应用程序时,它应该将它添加到你的本地.m2存储库.要在其他地方发布,您需要设置正确的分发管理信息.如果Maven没有自动附加工件,您可能还需要使用maven构建器帮助程序插件.
我建议在以下位置查看经典示例:http : //maven.apache.org/guides/getting-started/index.html#How_do_I_build_more_than_one_project_at_once
这里my-webapp是web项目,依赖于my-app项目中的代码。因此,要将两个项目合二为一,我们有顶级 pom.xml,其中提到了最终要捆绑的项目(按照 Maven 术语的模块)。这样的顶级 pom.xml 可以使用 pom 打包。
my-webapp 可以有war包并且可以依赖my-app。my-app 可以有 jar 包装。
| 归档时间: |
|
| 查看次数: |
116769 次 |
| 最近记录: |