0

私は、OracleデータベースからSpringRoo生成エンティティを取得しようとしてきました。

ただし、JDBCドライバーが使用できないというエラーが発生し続けましたoracle.jdbc.OracleDriver

ojdbc14.jarローカルのMavenリポジトリにインストールしました

mvn install:install-file -Dfile=ojdbc14.jar -DgroupId=com.oracle -DartifactId=ojdbc14 -Dversion=10.2.0.2 -Dpackaging=jar -DgeneratePom=true

pom.xmlを確認しましたが、正しいバージョンを示しており、mvn clean installを実行すると、正しくコンパイルされます。

何が欠けているのかわかりません。MySqlを使用して動作させましたが、Oracleでは動作しません。

私は何を間違っているのですか?

Roo version 1.2.2.RELEASE

<dependency>
    <groupId>com.oracle</groupId>
    <artifactId>ojdbc14</artifactId>
    <version>10.2.0.2</version>
    <classifier />
</dependency>

...。

<dependency>
    <groupId>com.oracle</groupId>
    <artifactId>ojdbc14</artifactId>
    <version>10.2.0.2</version>
</dependency>



#Updated at Tue Nov 13 22:43:01 NZDT 2012
#Tue Nov 13 22:43:01 NZDT 2012
database.driverClassName=oracle.jdbc.OracleDriver
database.url=jdbc\:oracle\:thin\:@[server.ip]\:1521\:orcl
database.username=MYUSER
database.password=MYPASSWORD

ここで、[server.ip]はデータベースのIPアドレスです

やあ、

OSGIでは何もしませんでした。

あなたが言及したjarファイルをダウンロードした後。(ここからダウンロードhttp://www.java2s.com/Code/Jar/b/DownloadbizaQutebndjar.htm

あなたがくれたコマンドを実行しましたが、エラーが発生しました。

oracle / sql / converter_xcharset lx20001.glb lx20002.glb lx2001f.glb lx200b2.glb

1つのエラー1:[javax.naming、javax.naming.directory、javax.naming.spi、javax.net、javax.net.ssl、javax.resource、javax.resource.spi、javax.resource.spiへの未解決の参照。エンドポイント、javax.resource.spi.security、javax.security.auth、javax.security.cert、javax.sql、javax.sql.rowset、javax.sql.rowset.spi、javax.transaction.xa、javax.xml。バンドルクラスパスのクラスごとのパーサー、oracle.i18n.text.converter、oracle.ons、oracle.security.pki、org.w3c.dom、org.xml.sax、org.xml.sax.helpers] [Jar:ojdbc14.jar]:[oracle / jdbc / pool / OracleConnectionCacheManager $ 1.class、oracle / jdbc / rowset / OracleCachedRowSetReader.class、oracle / jdbc / pool / OracleRuntimeLoadBalancingEventHandlerThread $ 1.class、oracle / jdbc / rowset / OracleWebRowSet.class 、oracle / jdbc / internal / OracleConnection.class、oracle / jdbc / connectedor / OracleManagedConnectionMetaData.class、oracle / jdbc / xa / OracleXAConnection.class、oracle / jdbc / xa / OracleXAException.class、oracle / jdbc / xa / OracleXADataSource.class、oracle / jdbc / pool / OracleOCIConnectionPool.class、oracle / jdbc / connectedor / OracleConnectionManager.class、 oracle / jdbc / rowset / OracleJDBCRowSet.class、oracle / net / nt / TcpsConfigure.class、oracle / jdbc / rowset / OraclePredicate.class、oracle / jdbc / pool / OracleRuntimeLoadBalancingEventHandlerThread.class、oracle / jdbc / connectedor / OracleResourceAdapter.class、 oracle / jdbc / pool / OracleConnectionCacheTimeOutThread.class、oracle / net / jndi / CustomSSLSocketFactory.class、oracle / jdbc / rowset / OracleRowSetMetaData.class、oracle / jdbc / driver / T4CXAResource.class、oracle / jdbc / rowset / OracleFilteredRowSet.class、 oracle / jdbc / xa / OracleXid.class、oracle / jdbc / rowset / OracleWebRowSetXmlWriter.class、oracle / jdbc / rowset / OracleJoinable.class、oracle / jdbc / pool / OracleConnectionCacheImpl.class、oracle / jdbc / connectedor / OracleManagedConnectionFactory.class、oracle / jdbc / pool / OracleFailoverEventHandlerThread $ 1.class、oracle / sql / converter / CharacterConverterFactoryOGS.class、oracle / jdbc / pool / OracleConnectionEventListener.class 、oracle / jdbc / rowset / OracleWebRowSetXmlReaderImpl.class、oracle / jdbc / pool / OracleXAConnectionCacheImpl.class、oracle / jdbc / rowset / OracleWebRowSetXmlWriterImpl.class、oracle / jdbc / driver / PhysicalConnection.class、oracle / jdbc / xa / client / OracleXA .class、oracle / net / jndi / TrustManagerSSLSocketFactory.class、oracle / jdbc / xa / client / OracleXAResource.class、oracle / jdbc / xa / OracleXAResource.class、oracle / jdbc / pool / OracleConnectionCacheEventListener.class、oracle / jdbc / rowset /OracleRowSetListenerAdapter.class、oracle / jdbc / rowset / OracleWebRowSetXmlReaderDomHandler.class、oracle / jdbc / connector / OracleConnectionRequestInfo.class、oracle / jdbc / pool / OracleDataSourceFactory.class、oracle / net / jndi / JndiAttrs.class、oracle / jdbc / rowset / OracleJoinRowSet.class、oracle / jdbc / rowset / OracleWebRowSetXmlReader.class、 oracle / jdbc / xa / client / OracleXAHeteroConnection.class、oracle / jdbc / driver / T4CXAConnection.class、oracle / net / nt / CustomSSLSocketFactory.class、oracle / net / nt / TcpsNTAdapter.class、oracle / jdbc / rowset/OracleCachedRowSetWriter。 class、oracle / jdbc / rowset / OracleCachedRowSet.class、oracle / jdbc / pool / OraclePooledConnection.class、oracle / jdbc / pool / OracleFailoverEventHandlerThread.class、oracle / jdbc / xa / client / OracleXAConnection.class、oracle / jdbc / pool / OracleConnectionPoolDataSource.class、oracle / jdbc / driver / LogicalConnection.class、oracle / jdbc / pool / OracleConnectionCacheManager.class、oracle / jdbc / rowset / OracleRowSet.class、oracle / jdbc / pool / OracleImplicitConnectionCache.class、oracle / jdbc / connectedor / OracleManagedConnection.class、oracle / jdbc / pool / OracleConnectionCache.class、oracle / jdbc / xa / client / OracleXAHeteroResource.class、oracle / jdbc / driver / OracleDriverクラス、oracle / jdbc / rowset / OracleWebRowSetXmlReaderContHandler.class、oracle / jdbc / connectedor / OracleLocalTransaction.class、oracle / net / jndi / TrustManager.class、oracle / jdbc / pool / OracleDataSource.class]

そのため、期待した結果が得られませんでした。

これについて何か考えはありますか?

助けてくれてありがとう。

4

2 に答える 2

1

OSGI 用の Oracle JDBC ドライバー (ojdbc) を作成しましたか? Roo ドキュメントから:

現在、Oracle または DB2 用のオープンソース JDBC ドライバーはなく、Roo はこれらのデータベース用の OSGi ドライバーを提供していません。

指定されたドキュメントの指示に従うことができます。それ以外の場合は、biz.aQute.bnd.jar を使用して、OJDBC ドライバーの OSGi バンドル バージョンを作成できます。

これを行うには、このzip ファイルをダウンロードして解凍します。次に、同じフォルダーに ojdbc14.jar を置き、次のコマンドを実行します。

   java -jar biz.aQute.bnd.jar wrap ojdbc14.jar

1 つの警告 (余分なエクスポート パッケージの指示: [oracle.net、oracle、oracle.jpub、oracle.security、oracle.core]) が表示されますが、無視します。

このステップの結果として、新しいファイル ojdbc14.bar を取得する必要があります。

任意の名前に変更しますが、.jar 拡張子を付けます。例: 「ojdbc14-osgi.jar」

jarをrooにインストールします

roo> osgi start --url file:///tmp/ojdbc14-osgi.jar
roo> database reverse engineer ... and so on

注意すべきことは1つだけです。必要に応じて、Roo が生成した pom.xml 内の ojdbc14 artifactId のバージョンを編集することを忘れないでください。

それが役に立てば幸い。3 つのプロジェクトと 3 つのデータベースで問題なく実行できました。

于 2012-11-14T09:48:22.203 に答える
0

で実行中にエラーが発生する場合mvn jetty:run、またはmvn tomcat:runtomcat と jetty の設定に依存関係を追加してみてください:

    <plugin>
        <groupId>org.codehaus.mojo</groupId>
        <artifactId>tomcat-maven-plugin</artifactId>
        <version>1.1</version>
        <configuration>
    <httpsPort>9443</httpsPort>
        </configuration>
        <dependencies>
           <dependency>
             <groupId>com.oracle</groupId>
             <artifactId>ojdbc14</artifactId>
             <version>10.2.0.2</version>
           </dependency>
        </dependencies>
    </plugin>
    <plugin>
        <groupId>org.mortbay.jetty</groupId>
        <artifactId>jetty-maven-plugin</artifactId>
        <version>8.1.4.v20120524</version>
        <configuration>
            <webAppConfig>
                <contextPath>/${project.name}</contextPath>
            </webAppConfig>
        </configuration>
        <dependencies>
           <dependency>
             <groupId>com.oracle</groupId>
             <artifactId>ojdbc14</artifactId>
             <version>10.2.0.2</version>
           </dependency>
        </dependencies>
    </plugin>
于 2012-11-14T07:16:28.620 に答える