我想运行一个Java-Applet。 我使用JBoss服务器。 我用Maven。 我用Eclipse。 我使用Eclipse将我的Web存档在Enterprise Archive中部署到服务器上。
对于Applet,我需要Applet的.class文件位于applet.html的可访问文件夹中。 我的想法是将.class-从target-folder复制到我的Web-Archive的resources-folder。所以我将以下插件添加到Web-Maven-Project的pom.xml中:
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-resources-plugin</artifactId>
<version>2.4</version>
<goals>
<goal>deploy</goal>
</goals>
<executions>
<execution>
<id>copy-applet-related-classes</id>
<phase>package</phase>
<goals>
<goal>copy-resources</goal>
</goals>
<configuration>
<outputDirectory>${basedir}/target/LMS-Admin-Web- 0.0.1/resources/applet</outputDirectory>
<resources>
<resource>
<directory>${basedir}/target/classes/de/test/lms/applet</directory>
<filtering>true</filtering>
</resource>
</resources>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
我认为我搞砸了阶段和目标。当我的目标“安装”并在我的项目文件夹中执行“mvn clean install”时,它工作了一次。问题是当我在Eclipse中使用右键单击&gt;发布时。我不知道,目标是什么比。我尝试了很多,但它不适用于JBoss的独立/部署/ ...文件系统。 事实证明这对谷歌来说也很难。所以我要感谢任何想法,链接或其他帮助!
编辑: 我发现,当我发布时,目标文件夹中的classes-folder被编辑,但打包到WAR-File的WEB文件夹不是。也许我需要一个阶段,这是在包装之前?我明天要进一步调查。
答案 0 :(得分:1)
在我的项目中,我还需要一个applet,需要将其复制到classes
目录。唯一的区别是我将applet存储为工件(因此在jar中)。我正在使用process-resources
阶段。在你的情况下也可能。
我会添加我的解决方案,以防您想要打包您的小程序。如果你想要sign it,那么你需要做什么。
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
<version>2.2</version>
<executions>
<execution>
<id>copy-signed-applet</id>
<phase>process-resources</phase>
<goals>
<goal>copy</goal>
</goals>
<configuration>
<artifactItems>
<artifactItem>
<groupId>mygroupid</groupId>
<artifactId>myapplet</artifactId>
<version>${myapplet.version}</version>
<outputDirectory>${project.build.outputDirectory}/path/to/applet</outputDirectory>
<destFileName>myapplet.jar</destFileName>
</artifactItem>
</artifactItems>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
如果您使用的是Eclipse,则需要在pluginManagement
中添加插件生命周期映射(如果您还没有)。确保目标copy
有行动execute
。
<plugin>
<groupId>org.eclipse.m2e</groupId>
<artifactId>lifecycle-mapping</artifactId>
<version>1.0.0</version>
<configuration>
<lifecycleMappingMetadata>
<pluginExecutions>
<pluginExecution>
<pluginExecutionFilter>
<groupId>
org.apache.maven.plugins
</groupId>
<artifactId>
maven-dependency-plugin
</artifactId>
<versionRange>
[2.2,)
</versionRange>
<goals>
<goal>copy</goal>
</goals>
</pluginExecutionFilter>
<action>
<execute/>
</action>
</pluginExecution>
...
答案 1 :(得分:0)
您可以尝试使用Git Param插件:https://wiki.jenkins-ci.org/display/JENKINS/Git+Parameter+Plugin
它可以帮助你。