1

我想运行一个 Java-Applet。我使用 JBoss 服务器。我使用 Maven。我使用 Eclipse。我使用 Eclipse 将企业存档中的 Web 存档部署到服务器上。

对于Applet,我需要Applet 的.class 文件位于applet.html 的可访问文件夹中。我的想法是将 .class-从目标文件夹复制到我的 Web 存档的资源文件夹。所以我在 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 中使用右键单击-> 发布时。我不知道,比跑什么目标。我尝试了很多,但它不适用于 JBoss 的独立/部署/...文件系统。事实证明这也很难用谷歌搜索。所以我会感谢任何想法、链接或其他帮助!

编辑:我发现,目标文件夹中的类文件夹在我发布时被编辑,但打包到 WAR 文件的 WEB 文件夹不是。也许我需要一个阶段,即包装之前?我明天要进一步调查。

4

2 回答 2

1

在我的项目中,我还需要一个小程序,需要将其复制到classes目录中。唯一的区别是我将小程序存储为工件(因此在罐子中)。我正在process-resources为此使用相位。在你的情况下可能也是。

如果您想打包您的小程序,我将添加我的解决方案。如果您想签名,您需要这样做。

            <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>
...
于 2013-01-08T21:10:14.670 回答
0

您可以尝试使用 Git 参数插件:https ://wiki.jenkins-ci.org/display/JENKINS/Git+Parameter+Plugin

它应该可以帮助你。

于 2013-01-11T16:53:24.360 回答