При развертывании плагина Weblogic Mvn не удается подключиться к серверу t3://localhost:7001
И заранее спасибо за помощь.
Я пытаюсь заставить плагин oracle weblogic mvn правильно работать на моей машине, но в конечном итоге у меня возникают трудности с подключением к серверу администратора, и сообщение об ошибке плагинов не очень полезно для отслеживания проблемы.
Обзор: я по существу следовал за следующими двумя страницами, чтобы: (a) установить плагин в моем локальном репозитории: http://docs.oracle.com/cd/E24329_01/web.1211/e24443/maven_deployer.htm(b) настроить плагин maven http://www.oracle.com/technetwork/articles/soa/eisele-weblogic-netbeans-2193786.html
Итак, моя конфигурация выглядит следующим образом:
<profiles>
<profile>
<id>weblogicDeploy</id>
<properties>
<weblogic.server.version>12.1.2.0</weblogic.server.version>
<weblogic.server.adminurl>t3://127.0.0.1:7001</weblogic.server.adminurl>
<weblogic.server.middlewareHome>D:/appservers/weblogic</weblogic.server.middlewareHome>
<weblogic.server.serverName>AdminServer</weblogic.server.serverName>
<weblogic.server.userName>weblogic</weblogic.server.userName>
<weblogic.server.password>welcome1</weblogic.server.password>
</properties>
<dependencies>
<!--dependency>
<groupId>com.oracle.weblogic</groupId>
<artifactId>weblogic-server-pom</artifactId>
<version>${weblogic.server.version}</version>
<type>pom</type>
<scope>provided</scope>
</dependency-->
</dependencies>
<build>
<plugins>
<!--
To have access to this plugin one must follow this guide:
http://docs.oracle.com/cd/E24329_01/web.1211/e24443/maven_deployer.htm#DEPGD383
The plugin is bundled with the web logic server - we cannot get it from the web unless we install it
into our nexus ...
(1) D:\weblogic\wlserver\server\lib>java -jar wljarbuilder.jar -profile weblogic-maven-plugin
(2) jar xvf c:\tmp\weblogic-maven-plugin.jar META-INF/maven/com.oracle.weblogic/weblogic-maven-plugin/pom.xml
(3) mvn install:install-file -Dfile=weblogic-maven-plugin.jar -DpomFile=META-INF/maven/com.oracle.weblogic/weblogic-maven-plugin/pom.xml
-->
<plugin>
<!-- This is the configuration for the weblogic-maven-plugin -->
<groupId>com.oracle.weblogic</groupId>
<artifactId>weblogic-maven-plugin</artifactId>
<version>${weblogic.server.version}</version>
<configuration>
<middlewareHome>${weblogic.server.middlewareHome}</middlewareHome>
</configuration>
<executions>
<!-- Deploy the application to the WebLogic Server in the pre-integration-test phase -->
<execution>
<id>wls-deploy</id>
<!-- Summary Of phase:
process and deploy the package if necessary into an environment where integration tests can be run
-->
<phase>pre-integration-test</phase>
<goals>
<goal>deploy</goal>
</goals>
<configuration>
<!--The admin URL where the app is deployed.
Here use the plugin's default value t3://localhost:7001-->
<adminurl>${weblogic.server.adminurl}</adminurl>
<user>${weblogic.server.userName}</user>
<password>${weblogic.server.password}</password>
<!--The location of the file or directory to be deployed-->
<source>${project.build.directory}/${project.build.finalName}.${project.packaging}</source>
<!--The target servers where the application is deployed. -->
<!--targets>${weblogic.server.serverName}</targets-->
<verbose>true</verbose>
<name>${project.build.finalName}</name>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>
</profiles>
В приведенной выше конфигурации нет ничего неправильного: (a) ( t3Url x userName x пароль) я могу очень легко проверить, что они действительны
$ netstat -an | grep "LISTEN" | grep "7001"
TCP 0.0.0.0:7001 0.0.0.0:0 LISTENING
TCP 0.0.0.0:7001 0.0.0.0:0 LISTENING
TCP 0.0.0.0:7001 0.0.0.0:0 LISTENING
TCP 0.0.0.0:7001 0.0.0.0:0 LISTENING
TCP 0.0.0.0:7001 0.0.0.0:0 LISTENING
TCP 0.0.0.0:7001 0.0.0.0:0 LISTENING
TCP 0.0.0.0:7001 0.0.0.0:0 LISTENING
TCP 0.0.0.0:7001 0.0.0.0:0 LISTENING
TCP 127.0.0.1:7001 0.0.0.0:0 LISTENING
....
Я также могу использовать WLST для подключения к серверу: Инициализация WebLogic Scripting Tool (WLST)...
Welcome to WebLogic Server Administration Scripting Shell
Type help() for help on available commands
wls:/offline> connect('weblogic','welcome1','t3://127.0.0.1:7001')
Connecting to t3://127.0.0.1:7001 with userid weblogic ...
Successfully connected to Admin Server "AdminServer" that belongs to domain "whateverdomain".
Warning: An insecure protocol was used to connect to the
server. To ensure on-the-wire security, the SSL port or
Admin port should be used instead.
(в) предыдущий пункт показывает (а) URL, (б) имя пользователя, (в) пароль, (г) целевой сервер администратора... практически все.
Но в mvn, используя плагин mvn, я в конечном итоге всегда получаю следующее исключение.
Failed to execute goal com.oracle.weblogic:weblogic-maven-plugin:12.1.2.0:deploy (wls-deploy) on project whatevermy-war: weblogic.deploy.api.tools.deployer.DeployerException: Unable to connect to 't3://127.0.0.1:7001': weblogic.security.utils.KeyStoreConfiguration. Ensure the url represents a running admin server and that the credentials are correct. If using http protocol, tunneling must be enabled on the admin server. -> [Help 1]
Сообщение об исключении, приведенное выше, очень неуклюжее: (a) плагин знает, какой URL-адрес был ему передан, он знает, что ему не было сказано использовать http, это - протокол t3 (b), если игра с портом URL-адреса и установка неверного порт, я получаю исключение сокета, и сообщение об исключении от плагина - точно то же самое...
должен быть аспект конфигурации, который у меня неправильный, имя сервера администратора, скрытые политики безопасности... что-то, но я на данный момент не вижу, что это может быть.
Кстати, я прокомментировал зависимость от pom сервера, так как эта другая из тех зависимостей, которые вы не можете получить из удаленного репозитория, и я не знаю, какой jar на сервере веб-логики скрывает pom. В противном случае я бы установил также в моем локальном хранилище. Я сомневаюсь, что это актуально, поскольку плагин, похоже, удовлетворен попыткой подключиться к weblogic.
Большое спасибо.
3 ответа
Исправлена проблема, следуя другому руководству оракула о том, как установить плагин maven.
Похоже, это руководство лучше справляется с установкой плагина веб-логики. http://docs.oracle.com/middleware/1213/wls/WLPRG/maven.htm
Цитирую соответствующую часть руководства по установке оракула.
Install the Oracle Maven sync plug-in and run the push goal:
Change directory to ORACLE_HOME\oracle_common\plugins\maven\com\oracle\maven\oracle-maven-sync\12.1.3.
mvn install:install-file -DpomFile=oracle-maven-sync-12.1.3.pom -Dfile=oracle-maven-sync-12.1.3.jar.
mvn com.oracle.maven:oracle-maven-sync:push -Doracle-maven-sync.oracleHome=c:\oracle\middleware\oracle_home\.
Адаптируйте руководство к собственному пути установки продукта и дождитесь успешной сборки команды maven push. Надеемся, что плагин weblogic, который вы получите из этого опыта, окажется лучше, чем тот, который был установлен в первом руководстве.
После этого единственной вещью, которую мне нужно было изменить в моей конфигурации, была версия плагина.
<weblogic.server.version>12.1.2-0-0</weblogic.server.version>
И вуаля, на этот раз я получил рабочий плагин вместо придуманной игрушки.
Вы можете найти KeyStoreConfiguration в com.oracle.weblogic.security.encryption_1.0.0.0.jar, который находится в папке /weblogic/weblogic12/wlserver/modules. просто поставьте KeyStoreConfiguration.class для ввода weblogic-maven-plugin, все идет хорошо!
Это тот же ответ, который дал @crimsonwisp. Спасибо @DanielHernández за его комментарии. Вот шаги, которые я следовал, чтобы избавиться от
Failed to execute goal com.oracle.weblogic:weblogic-maven-plugin:12.1.2.0:deploy (wls-deploy) on project whatevermy-war: weblogic.deploy.api.tools.deployer.DeployerException: Unable to connect to 't3://127.0.0.1:7001': weblogic.security.utils.KeyStoreConfiguration. Ensure the url represents a running admin server and that the credentials are correct. If using http protocol, tunneling must be enabled on the admin server. -> [Help 1]
От твоего wlserver
найти банку weblogic.security.encryption
$ find . -name com.oracle.weblogic.security.encryption*
./modules/com.oracle.weblogic.security.encryption_2.0.0.0.jar
Скопируйте содержимое этой банки в weblogic-maven-plugin.jar
, Предполагая, что вы находитесь в INSTALL_HOME/wlserver/server/lib
каталог.
$ mkdir -p /tmp/wlsmaven
$ cp ../../modules/com.oracle.weblogic.security.encryption_2.0.0.0.jar /tmp/wlsmaven/
$ cp weblogic-maven-plugin.jar /tmp/wlsmaven/
$ cd /tmp/wlsmaven
$ jar xvf com.oracle.weblogic.security.encryption_2.0.0.0.jar
# Update jar with classes from weblogic.security.encryption jar
$ jar uvf weblogic-maven-plugin.jar weblogic
$ cd -
$ cp /tmp/wlsmaven/weblogic-maven-plugin.jar .
Снова запустите команду maven, чтобы установить ее в локальный репозиторий или там, где вы этого хотите.
$ mvn install:install-file -Dfile=weblogic-maven-plugin.jar -DpomFile=pom.xml