我有一个由Warbler正确生成的WAR文件,当我手动执行此操作时它正在工作.
我正在尝试使用maven(通过Hudson)来
1)调用warble(成功)
<phase>package</phase>
<configuration>
<executable>/bin/bash</executable>
<workingDirectory>.</workingDirectory>
<arguments>
<argument>-c</argument>
<argument>
echo "Sourcing bashrc"
source ~/.bashrc
rvm use jruby
echo "Path is $PATH"
echo "Gem path is $GEM_PATH"
warble --trace
rm -R target/*
mv workspace.war target/yams.war
</argument>
</arguments>
</configuration>
Run Code Online (Sandbox Code Playgroud)
2)部署到tomcat
这是我遇到麻烦的第二部分.我想告诉maven接受我刚刚生成的WAR文件(并且有助于将其移动到目标/,正如它所期望的那样)并进行部署.
问题是,如果我没有为整个项目指定一个包装,它只是跳过任何部署("跳过非WAR").如果我指定WAR包装,它会尝试制作一个无用的WAR本身,这样就可以了,但它不断要求提供越来越多的信息(webxml等)来制作这个无用的WAR,我最后会删除并忽略它.
基本上,是否有一种简单的方式来说"把我刚刚在工作区/目标中创建的战争并像你自己制作的任何WAR一样部署到maven"?
第一次发帖:)
对的,这是可能的.诀窍是禁用maven-war-plugin的执行,这样它就不会尝试打包任何东西.然后你可以简单地将tomcat指向你已经组装的预制战争.这是我的POM,它部署了prebuild lambda Probe WAR文件:
<project>
<modelVersion>4.0.0</modelVersion>
<artifactId>Probe</artifactId>
<packaging>war</packaging>
<name>Probe</name>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<version>2.1.1</version>
<executions>
<execution>
<id>default-war</id>
<phase>none</phase>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>tomcat-maven-plugin</artifactId>
<configuration>
<warFile>Probe.war</warFile>
</configuration>
</plugin>
</plugins>
</build>
</project>
Run Code Online (Sandbox Code Playgroud)
感谢waffel的Weblog为我提供了通用的解决方案,让我找到了如何禁用maven-war-plugin的执行.:)
*编辑:您可能还想禁用maven-install-plugin以防止maven在调用经常使用的'mvn clean install'时抱怨(消息看起来像这样:)
[错误]无法执行目标org.apache.maven.plugins:maven-install-plugin:2.3.1:在项目上安装(default-install):此项目的包装未将文件分配给构建工件
将此部分添加到您的POM:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-install-plugin</artifactId>
<version>2.3.1</version>
<executions>
<execution>
<id>default-install</id>
<phase>none</phase>
</execution>
</executions>
</plugin>
Run Code Online (Sandbox Code Playgroud)
如果您希望项目实际将war文件安装到您的存储库中,我认为您将无法使用maven-install-plugin的install:install-file目标.
| 归档时间: |
|
| 查看次数: |
3926 次 |
| 最近记录: |