在Maven中,如何使用Wang插件复制文件?
小结:如何使用Maven将一些生成的文件复制到Web服务器(如IIS或Apache)目录中 详情: 我有一个在Maven中构建的工作应用程序。我已经设法使用生成目录在Maven中,如何使用Wang插件复制文件?,maven,wagon,maven-wagon-plugin,maven-webstart-plugin,Maven,Wagon,Maven Wagon Plugin,Maven Webstart Plugin,小结:如何使用Maven将一些生成的文件复制到Web服务器(如IIS或Apache)目录中 详情: 我有一个在Maven中构建的工作应用程序。我已经设法使用生成目录target/jnlp中所有需要的文件(.jar和.jnlp)的来构建它。它还创建了一个zip文件,所有文件都位于target/foo-1.0.zip 目前webstart插件没有deploy目标-对它的请求已在服务器上结束。它可能在将来实施,但目前的建议是使用 我从来没用过马车。首先,我想将文件复制到一个由Web服务器提供服务的本地
target/jnlp
中所有需要的文件(.jar和.jnlp)的来构建它。它还创建了一个zip文件,所有文件都位于target/foo-1.0.zip
目前webstart插件没有deploy
目标-对它的请求已在服务器上结束。它可能在将来实施,但目前的建议是使用
我从来没用过马车。首先,我想将文件复制到一个由Web服务器提供服务的本地目录。稍后我想远程复制它们,可能使用ftp。有人能举个例子说明我需要向
pom.xml
添加什么才能使本地副本正常工作(希望还有一个ftp示例?)。我在文档中找不到它。通过阅读,我认为我可能还需要,但由于这似乎几乎没有文档,我不确定。旅行车提供商只提供额外的网络协议支持(如FTP)
如果要将文件复制到Web服务器(本地或远程),可以使用Maven上载插件:
...
<plugin>
<groupId>com.atlassian.maven.plugins</groupId>
<artifactId>maven-upload-plugin</artifactId>
</plugin>
...
编辑:顺便说一句,对于远程部署,您可能需要scp的登录密码才能工作。您必须将它们添加到Maven settings.xml文件中:
<settings>
...
<servers>
<server>
<id>ENV_val</id>
<username>login</username>
<password>password</password>
</server>
</servers>
...
</settings>
...
环境
登录
密码
...
编辑:您需要添加Atlassian存储库:
<pluginRepositories>
<pluginRepository>
<id>Atlassian</id>
<url>https://maven.atlassian.com/repository/public</url>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>false</enabled>
</snapshots>
</pluginRepository>
</pluginRepositories>
大西洋
https://maven.atlassian.com/repository/public
真的
假的
编辑:根据远程协议的不同,您必须添加旅行车扩展,请参见最后我没有使用Maven upload插件-它似乎有点有限,并且不是Maven主要发行版的一部分。我按照建议使用了maven旅行车插件。下面是我能使其工作的最简单的pom。希望其他人会发现它很有用,因为我很难找到类似的东西
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>wagon-maven-plugin</artifactId>
<version>1.0-beta-3</version>
<configuration>
<fromDir>${project.build.directory}/jnlp</fromDir>
<includes>*</includes>
<url>file://c:/inetpub/wwwroot</url>
<toDir>jnlp</toDir>
</configuration>
</plugin>
org.codehaus.mojo
货车司机插件
1.0-beta-3
${project.build.directory}/jnlp
*
文件:://c:/inetpub/wwwroot
jnlp
对于远程发行版,您只需更改URL类型,并可能根据需要添加WAG扩展。Hi,您能否扩展您的答案以将副本显示到本地服务器?这些文档对于上传插件来说也不是很好。你不应该使用WangMaven插件来实现这一点(请参阅)。此外,Wagen maven插件和maven upload插件都不是来自org.apache.maven,而是来自org.codehaus.mojo和com.atlassian.maven.plugin感谢这些信息——感觉非常奇怪。我可能会坚持现在,但我想我宁愿依靠科德豪斯,而不是阿特拉斯。我会继续寻找更好的方法solution@Tristan,科德豪斯和马文是亲密的朋友;)。
mvn upload:upload -Pdeveloppement
<settings>
...
<servers>
<server>
<id>ENV_val</id>
<username>login</username>
<password>password</password>
</server>
</servers>
...
</settings>
<pluginRepositories>
<pluginRepository>
<id>Atlassian</id>
<url>https://maven.atlassian.com/repository/public</url>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>false</enabled>
</snapshots>
</pluginRepository>
</pluginRepositories>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>wagon-maven-plugin</artifactId>
<version>1.0-beta-3</version>
<configuration>
<fromDir>${project.build.directory}/jnlp</fromDir>
<includes>*</includes>
<url>file://c:/inetpub/wwwroot</url>
<toDir>jnlp</toDir>
</configuration>
</plugin>