1

我最近升级到最近发布的 Glassfish 4.0 和 Java EE 7。但是我在使用 Maven Glassfish 插件时遇到了问题。它似乎没有选择存储在我的项目 pom.xml 中的值

        <plugin>
            <groupId>org.glassfish.maven.plugin</groupId>
            <artifactId>maven-glassfish-plugin</artifactId>
            <version>${org.glassfish.maven.plugin.maven-glassfish-plugin.version}</version>
            <configuration>
                <glassfishDirectory>${glassfish.home}</glassfishDirectory>
                <user>${domain.username}</user>
                <adminPassword>${domain.password}</adminPassword>
                <passFile>${glassfish.home}/domains/domain1/config/domain-passwords</passFile>
                <autoCreate>true</autoCreate>
                <debug>true</debug>
                <echo>true</echo>
                <terse>true</terse>
                <skip>${test.int.skip}</skip>
                <domain>
                    <name>${domain.name}</name>

// ... 文件的其余部分

从 v3 升级到 v4 后,当我执行 mvn glassfish:deploy 时,不会选择 user 和 adminPassword 属性 - 结果我得到:

[错误] 用户身份验证失败:管理员 [错误] 使用密码文件中的密码:C:/Users/jhondoe/.../.../Temp/mgfp6122921747148315370.tmp

Maven Glassfish 插件命令正在跳过我在 pom.xml 中插件的用户和密码参数。

因此,与此同时,我必须手动部署才能测试我的应用程序。

我不想避免总是手动部署 EAR 文件我不确定是否有通过命令行传递参数的方法。如果有人知道任何可能的解决方案,请告诉我!谢谢!

4

1 回答 1

6

如果您安装了默认的 GlassFish 4 实例,则只有没有密码的管理员用户。该用户的密码文件位于名为“admin-keyfile”的域配置目录中。在这种情况下,当您访问 GlassFish 管理控制台时,不需要进行身份验证。

在您的插件配置中,只需提供用户和密码文件(删除 adminPassword 条目):

    <user>admin</user>
    <passwordFile>[...]\domains\domain1\config\admin-keyfile</passwordFile>

如果您决定使用 asadmin 实用程序更改管理员密码,请更改 pom.xml 中的插件配置,如下所示:

    <user>admin</user>
    <adminPassword>YOUR_NEW_PASSWORD</adminPassword>

有关详细信息,请查看 GlassFish 4 文档中的安全指南 ( https://glassfish.java.net/docs/4.0/security-guide.pdf )

于 2013-07-31T15:35:50.330 回答