Я отчаянно пытаюсь заставить плагин maven maven-glassfish работать, чтобы запустить мой домен и развернуть войну, чтобы я мог протестировать.Я хотел использовать плагин maven-glassfish-plugin, потому что, насколько я могу найти, плагин maven-embedded-glassfish-plugin не поддерживает настройку ключевого файла, поэтому я могу проверить аутентификацию входа в систему с помощью selenium
$ {project.build.outputDirectory} / keyfile
Но я не могу запустить плагин maven-glassfish-plugin, и я не могу получить плагин maven-embedded-glassfish, чтобы фактически разрешить программную настройку пользователей и аутентификацию.
MyMaven items:
<properties>
<glassfish.home>C:/usr/bin/glassfish-3.1-b42-02_11_2011/</glassfish.home>
<glassfish.domain.name>domain1</glassfish.domain.name>
<glassfish.domain.host>localhost</glassfish.domain.host>
<!-- Glassfish -->
<glassfish.version>3.2-SNAPSHOT</glassfish.version>
<glassfish.plugin.version>2.1</glassfish.plugin.version>
<glassfish.domain.name>domain1</glassfish.domain.name>
<glassfish.domain.host>localhost</glassfish.domain.host>
<glassfish.adminUser>admin</glassfish.adminUser>
<glassfish.adminPassword>adminadmin</glassfish.adminPassword>
<glassfish.passwordFile>${project.build.testOutputDirectory}/passwd.local.file</glassfish.passwordFile>-->
...
<plugin>
<groupId>org.glassfish.maven.plugin</groupId>
<artifactId>maven-glassfish-plugin</artifactId>
<version>${glassfish.plugin.version}</version>
<configuration>
<glassfishDirectory>${glassfish.home}</glassfishDirectory>
<user>${glassfish.adminUser}</user>
<!--<adminPassword></adminPassword>-->
<passwordFile>${glassfish.passwordFile}</passwordFile>
<autoCreate>true</autoCreate>
<debug>true</debug>
<echo>true</echo>
<terse>false</terse>
<domain>
<name>${glassfish.domain.name}</name>
<host>${glassfish.domain.host}</host>
<adminPort>4848</adminPort>
<httpPort>8080</httpPort>
<httpsPort>8443</httpsPort>
</domain>
<components>
<component>
<name>${project.artifactId}</name>
<artifact>${project.build.directory}/${project.build.finalName}.war</artifact>
</component>
</components>
</configuration>
</plugin>
Но я все еще не могу заставить это запустить администратора без принудительного входа в систему администратора.
Я начал вести блог об этом, но на самом деле было решение
=== Подробности ===
Я прошел много разных итераций с этим плагином и действительно не имел полного успеха.Одна проблема, которая продолжает преследовать этот плагин в моем тестировании, это когда плагин не определяет имя пользователя и пароль или добавляет имя пользователя и пароль администратора по умолчанию, например:
<user>${glassfish.adminUser}</user>
<adminPassword>${glassfish.adminPassword}</adminPassword>
Домен не запустится из-за отсутствия «Главный пароль », а также предупреждение об устаревшем синтаксисе.
[DEBUG] [C:\usr\bin\glassfish-3.1-b42-02_11_2011\bin\asadmin.bat, start-domain, --echo=true, --terse=false, --interactive=false, --user, admin, --passwordfile, C:\DOCUME~1\MKN
UTS~1\LOCALS~1\Temp\mgfp2524993691695672772.tmp, --debug=true, --domaindir, C:\usr\bin\glassfish-3.1-b42-02_11_2011\domains, domain1]
[INFO] Deprecated syntax, instead use:
[INFO] asadmin --echo --terse=false --interactive=false --user admin --passwordfile C:\DOCUME~1\MKNUTS~1\LOCALS~1\Temp\mgfp2524993691695672772.tmp start-domain [options] ...
[INFO] asadmin --host localhost --port 4848 --user admin --passwordfile C:\DOCUME~1\MKNUTS~1\LOCALS~1\Temp\mgfp2524993691695672772.tmp --interactive=false --echo=true --terse=false start-domain --verbose=false --upgrade=false --debug=true --domaindir "C:\\usr\\bin\\glassfish-3.1-b42-02_11_2011\\domains" domain1
[INFO] Command start-domain failed.
[ERROR] The Master Password is required to start the domain. No console, no prompting possible. You should either create the domain with --savemasterpassword=true or provide
a password file with the --passwordfile option.
[ERROR] Unable to start domain "domain1".
[ERROR] For more detail on what might be causing the problem try running maven with the --debug option
[ERROR] or setting the maven-glassfish-plugin "echo" property to "true".
Другой вариант заключался в использовании пароля для запуска
<passwordFile>${glassfish.passwordFile}</passwordFile>
…
<glassfish.passwordFile>${project.build.testOutputDirectory}/passwd.local.file</glassfish.passwordFile>
Когда я пытаюсь запустить домен
mvn org.glassfish.maven.plugin:maven-glassfish-plugin:start-domain -e –X
Домен успешно запускается согласно журналам:
asadmin --host localhost --port 4848 --user admin --passwordfile C:\DOCUME~1\MKNUTS~1\LOCALS~1\Temp\mgfp2524993691695672772.tmp --interactive=false --echo=true --terse=false start-domain --verbose=false --upgrade=false --debug=true --domaindir "C:\\usr\\bin\\glassfish-3.1-b42-02_11_2011\\domains" domain1
Домен успешно запускается согласно журналам:
[DEBUG] [C:\usr\bin\glassfish-3.1-b42-02_11_2011\bin\asadmin.bat, start-domain, --echo=true, --terse=false, --interactive=false, --user, MKnuts6173c, --passwordfile, C:\usr\SY
NCH\PACKT\3166\Chapters_Code\ch03\target\test-classes/passwd.local.file, --debug=true, --domaindir, C:\usr\bin\glassfish-3.1-b42-02_11_2011\domains, domain1]
[INFO] Deprecated syntax, instead use:
[INFO] asadmin --echo --terse=false --interactive=false --user MKnuts6173c –passwordfile C:\usr\SYNCH\PACKT\3166\Chapters_Code\ch03\target\test-classes/passwd.local.file start-domain [options] ...
[INFO] asadmin --host localhost --port 4848 --user MKnuts6173c --passwordfile C:\usr\SYNCH\PACKT\3166\Chapters_Code\ch03\target\test-classes/passwd.local.file --interactive=false --echo=true --terse=false start-domain --verbose=false --upgrade=false --debug=true --domaindir "C:\\usr\\bin\\glassfish-3.1-b42-02_11_2011\\domains" domain1
[INFO] Attempting to start domain1.... Please look at the server log for more details.....
Несмотря на то, что это, казалось, завершилось успешно, существуетбыла фундаментальная проблема, которую я не мог решить.При использовании этого метода для запуска domain1 в GF отсутствует учетная запись администратора по умолчанию, поэтому вам предлагается ввести учетную запись администратора:
Экран администратора не позволяет пользователювойдите в систему, как подтверждено в журналах:
[#|2011-02-15T15:15:21.047-0500|INFO|glassfish3.1|javax.enterprise.system.tools.admin.com.sun.enterprise.container.common|_ThreadID=100;_ThreadName=Thread-1;|User [] from host localhost does not have administration access|#]
При попытке фактически войти в систему, пользователь с правами администратора не имеет прав администратора, как указано в журналах:
[#|2011-02-15T15:23:22.535-0500|INFO|glassfish3.1|javax.enterprise.system.tools.admin.com.sun.enterprise.container.common|_ThreadID=118;_ThreadName=Thread-1;|User [admin] from host localhost does not have administration access|#]
Мое приложение фактически не развертывается, когда это происходит.Так что у меня нет доступа ни к чему.
Я также пытался удалить passwordFile и ничего не использовать, или использовать только пользователя, или даже пользователя и adminPassword, но все равно не повезло
Myсодержимое моего пароляFile:
AS_ADMIN_MASTERPASSWORD=changeit
AS_ADMIN_PASSWORD=adminadmin
AS_ADMIN_USERPASSWORD=xxx
Когда я запускаю эту же команду за пределами maven
C:\usr\bin\glassfish-3.1-b42-02_11_2011\bin\asadmin.bat --host localhost --port 4848 --user MKnuts6173c --passwordfile C:\usr\SYNCH\PACKT\3166\Chapters_Code\ch03\target\test-classes/passwd.local.file --interactive=false --echo=true --terse=false start-domain --verbose=false --upgrade=false --debug=true --domaindir "C:\\usr\\bin\\glassfish-3.1-b42-02_11_2011\\domains" domain1
У меня возникают те же проблемы, когда я не могу попасть в панель управления, ножурналы сервера теперь заполняются.