1

この質問は、解決策が見つかったら回答するためにここにあります。jboss Web サイトから Postgresql および H2 データベースに関するドキュメントを見つけ、このWeb サイトから手動で行う方法を見てきましたが、方法に関する多くの情報を見つけることができないようです。 jboss-as-maven-plugin を使用して mysql データソースをデプロイします。

maven プラグインを介して mysql データソースを jboss-as 7 サーバーに適切に登録するために必要な最小限の構成プロパティは何ですか?

私はこの依存関係を持っています:

<dependency>
    <groupId>mysql</groupId>
    <artifactId>mysql-connector-java</artifactId>
</dependency>

そして、mavenプラグインのこの構成

<build>
    <plugins>
        ...
        <plugin>
            <groupId>org.jboss.as.plugins</groupId>
            <artifactId>jboss-as-maven-plugin</artifactId>
            <configuration>
                <execute-commands/>
                <executeCommands/>
                <properties>
                    <enable-welcome-root>false</enable-welcome-root>
                </properties>
            </configuration>
            <executions>
                ...
                <!-- deploy the mysql connectorj -->
                <execution>
                    <id>deploy-mysql-driver</id>
                    <phase>install</phase>
                    <goals>
                        <goal>deploy-artifact</goal>
                    </goals>
                    <configuration>
                        <groupId>mysql</groupId>
                        <artifactId>mysql-connector-java</artifactId>
                        <name>mysql.jar</name>
                    </configuration>
                </execution>
                <execution>
                    <id>deploy</id>
                    <phase>install</phase>
                    <goals>
                        <goal>deploy</goal>
                    </goals>
                </execution>
                <execution>
                    <id>add-datasource</id>
                    <phase>deploy</phase>
                    <goals>
                        <goal>add-resource</goal>
                    </goals>
                    <configuration>
                        <address>subsystem=datasources</address>
                        <resources>
                            <resource>
                                <address>xa-data-source=java:global/datasources/tncDS</address>
                                <enable-resource>true</enable-resource>
                                <properties>
                                    <jndi-name>java:jboss/datasources/tncDS</jndi-name>
                                    <enabled>true</enabled>
                                    <connection-url>jdbc:mysql://localhost:3306/tnc</connection-url>
                                    <driver-class>com.mysql.jdbc.Driver</driver-class>
                                    <driver-name>mysql.jar</driver-name>
                                </properties>
                            </resource>
                        </resources>
                    </configuration>
                </execution>
            </executions>
            ...
        </plugin>
    </plugins>
</build>

コマンドを実行すると、次のmvn jboss-as:runエラーが発生します。

[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 7.241s
[INFO] Finished at: Tue Sep 24 21:37:28 EST 2013
[INFO] Final Memory: 16M/308M
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal org.jboss.as.plugins:jboss-as-maven-plugin:7.4.Final:deploy-artifact (deploy-mysql-driver) on project ear: Could not execute goal deploy-artifact on null. Reason: I/O Error could not execute operation '{
[ERROR] "address" => [],
[ERROR] "operation" => "read-attribute",
[ERROR] "name" => "launch-type"
[ERROR] }': java.net.ConnectException: JBAS012144: Could not connect to remote://localhost:9999. The connection timed out
[ERROR] -> [Help 1]
[ERROR] 
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR] 
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoExecutionException

アップデート:

デプロイ前に必要なファイル ( META-INF/services/java.sql.Driver) を jar に挿入するプラグインを開発しました。

<plugin>
    <groupId>com.thenaglecode</groupId>
    <artifactId>mysql-jdbc-compliance-maven-plugin</artifactId>
    <version>1.0-SNAPSHOT</version>
    <configuration>
        <artifactId>mysql-connector-java</artifactId>
        <version>5.1.26</version>
    </configuration>
    <executions>
        <execution>
            <goals>
                <goal>modify-connector</goal>
            </goals>
            <phase>package</phase>
        </execution>
    </executions>
</plugin>

しかし、私はまだcould not connect to remoteメッセージを受け取っています。runコマンドでサーバーを起動する必要があることを理解しているので、欠落している、または間違った順序で実行しているステップはありますか?

更新 2:
jboss-as プラグインWeb サイトjboss-as:runをいじって読んだ後、目標もpackageフェーズを呼び出すことに気付きました。packageフェーズにバインドされたデプロイ ゴールのいずれかを実行しようとしたときに、ほとんどの場合、このエラーを受け取りました。

展開する必要があるものはすべて、installフェーズにバインドする必要があります。

永続化ユニットが存在しないという別のエラーが表示されるようになりました

4

2 に答える 2

1

問題は、MySQL ドライバーが JDBC 4 に準拠していないことです。META-INF/services/java.sql.Driver完全修飾 JDBC ドライバー クラス名を使用してファイルを JARに追加する、モジュールとしてインストールする必要があります。詳細については、 https://community.jboss.org/wiki/DataSourceConfigurationInAS7を参照してください。

于 2013-09-24T21:27:36.780 に答える
0

ここでの解決策:

conf : jboss as7、maven 3.3.3、mysql Java コネクタ 5.1.29 28 27 26...、

mysql java コネクタ 5.1.30 以降、Meta-INF/serivces/java.sql.driver ファイルには、「com.mysql.jdbc.Driver com.mysql.fabric.jdbc.FabricMySQLDriver」という行が含まれています。 com.mysql.jdbc.Driver" データソースが作成され、プロジェクトが正常にデプロイされます。

mysql java コネクタ 5.1.29 28 27 26 ... を使用すると、そのファイルには「com.mysql.jdbc.Driver」のみが含まれ、展開は正常に機能します。

ここで私の pom.xml を確認して ください https://github.com/anouarattn/GestionAbsence

于 2015-06-21T16:34:08.430 に答える