Java 使用Maven和Glassfish进行简单的远程部署

Java 使用Maven和Glassfish进行简单的远程部署,java,git,maven,jenkins,glassfish,Java,Git,Maven,Jenkins,Glassfish,我正在尝试使用Maven、Glassfish和Maven Glassfish插件建立一个基本的部署管道。我想在我拥有的远程glassfish服务器上远程部署.war 我将遵循本教程: 当我必须以以下目标运行一个Maven的目标时,我陷入了困境: properties:read-project-properties clean install glassfish:redeploy -e 具有以下特性: glassfish.properties.file.argument=testing pom

我正在尝试使用Maven、Glassfish和Maven Glassfish插件建立一个基本的部署管道。我想在我拥有的远程glassfish服务器上远程部署.war

我将遵循本教程:

当我必须以以下目标运行一个Maven的目标时,我陷入了困境:

properties:read-project-properties clean install glassfish:redeploy -e
具有以下特性:

glassfish.properties.file.argument=testing
pom.xml如下所示:

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>com.blogpost</groupId>
    <artifactId>HelloGlassFishMaven</artifactId>
    <version>1.0-SNAPSHOT</version>
    <packaging>war</packaging>

    <name>HelloGlassFishMaven</name>

    <properties>
        <!-- Input Parameter - GlassFish properties file -->
        <glassfish.properties.file.argument></glassfish.properties.file.argument>
        <endorsed.dir>${project.build.directory}/endorsed</endorsed.dir>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    </properties>

    <dependencies>
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>4.12</version>
        </dependency>
        <dependency>
            <groupId>com.sun.jersey</groupId>
            <artifactId>jersey-servlet</artifactId>
            <version>1.19</version>
        </dependency>
        <dependency>
            <groupId>javax</groupId>
            <artifactId>javaee-web-api</artifactId>
            <version>7.0</version>
            <scope>provided</scope>
        </dependency>
    </dependencies>

    <build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>3.3</version>
                <configuration>
                    <source>1.7</source>
                    <target>1.7</target>
                    <compilerArguments>
                        <endorseddirs>${endorsed.dir}</endorseddirs>
                    </compilerArguments>
                </configuration>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-war-plugin</artifactId>
                <version>2.6</version>
                <configuration>
                    <failOnMissingWebXml>false</failOnMissingWebXml>
                    <filteringDeploymentDescriptors>true</filteringDeploymentDescriptors>
                    <webresources>
                        <resource>
                            <directory>${basedir}/src/main/webapp/WEB-INF</directory>
                            <filtering>true</filtering>
                            <targetpath>WEB-INF</targetpath>
                            <includes>
                                <include>**/glassfish-web.xml</include>
                            </includes>
                        </resource>
                    </webresources>
                </configuration>            
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-dependency-plugin</artifactId>
                <version>2.10</version>
                <executions>
                    <execution>
                        <phase>validate</phase>
                        <goals>
                            <goal>copy</goal>
                        </goals>
                        <configuration>
                            <outputDirectory>${endorsed.dir}</outputDirectory>
                            <silent>true</silent>
                            <artifactItems>
                                <artifactItem>
                                    <groupId>javax</groupId>
                                    <artifactId>javaee-endorsed-api</artifactId>
                                    <version>7.0</version>
                                    <type>jar</type>
                                </artifactItem>
                            </artifactItems>
                        </configuration>
                    </execution>
                </executions>
            </plugin>
            <plugin>
                <groupId>org.codehaus.mojo</groupId>
                <artifactId>properties-maven-plugin</artifactId>
                <version>1.0-alpha-2</version>
                <configuration>
                    <files>
                        <file>${basedir}/properties/${glassfish.properties.file.argument}.properties</file>
                    </files>
                </configuration>
            </plugin>
            <plugin>
                <groupId>org.glassfish.maven.plugin</groupId>
                <artifactId>maven-glassfish-plugin</artifactId>
                <version>2.1</version>
                <configuration>
                        <glassfishDirectory>D:\CreepyStation\Work\Virtual environment\GlassFishInpuJavaEE\glassfish</glassfishDirectory>
                    <user>${glassfish.user}</user>
                    <passwordFile>${basedir}/passwords/${glassfish.pwdfile}</passwordFile>
                    <echo>true</echo>
                    <debug>true</debug>
                    <terse>true</terse>
                    <domain>
                        <name>${glassfish.domain}</name>
                        <host>${glassfish.host}</host>
                        <adminPort>${glassfish.adminport}</adminPort>
                        <httpPort>6061</httpPort>
                    </domain>
                    <components>
                        <component>
                            <name>${project.artifactId}</name>
                            <artifact>${project.build.directory}/${project.build.finalName}.war</artifact>
                        </component>
                    </components>
                </configuration>  
            </plugin>
        </plugins>
    </build>

</project>
据我所知:

  • 它正确连接到我的远程Glassfishserver(如果我更改属性文件上的密码,它会警告我用户/密码不正确)
  • 我已经用一个名为“测试”的域正确配置了我的远程Glassfish服务器,并且启用了安全管理,我可以使用Glassfish管理GUI访问我的服务器
  • 如果我在Glassfish管理GUI上部署.war,它就会工作
它挂起几分钟,并给我一个错误,这是错误日志(我激活调试时有很多行,错误在文件末尾):

这让我发疯了,我花了无数个小时试图弄明白这一点,到目前为止运气都不好


非常感谢

不是真正的修复,但我使用了Cargo插件,而不是Maven To Glassfish插件,它现在运行良好

# GlassFish 4 testing domain properties
glassfish.domain=testing
glassfish.host=XX.XX.XX.XX
glassfish.adminport=6060
glassfish.user=admin
glassfish.pwdfile=pwdfile_testing