問題タブ [endorsed]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
tomcat - エラー: JAXB 2.1 API がブートストラップ クラスローダーからロードされていますが、この RI には 2.2 API が必要です
Java Web サービスを Tomcat 5.5.20 サーバーにデプロイしようとしています。Tomcat の webapps ディレクトリにある .war ファイルにパッケージ化された Web サービスがあり、Tomcat を起動すると .war ファイルが抽出されることがわかります。
ただし、Tomcat を起動すると、次のエラーが表示されます。
/home/username/WebNMS/apache/tomcat/webapps/WebServices/WEB-INF/lib ディレクトリには、jaxb-api.jar を含む JAX-WS 2.2.6 のすべての jar ファイルがあります。
Tomcatを起動するWebNMSプロセスを起動するコマンドに「-Djava.endorsed.dirs=/home/username/WebNMS/apache/tomcat/webapps/WebServices/WEB-INF/lib」を追加しましたが、それは役に立ちませんでした.
また、/home/username/WebNMS/jre/lib ディレクトリに、/home/username/WebNMS/apache/tomcat/webapps/WebServices/WEB-INF/lib を指す「endorsed」というシンボリック リンクを追加してみました。それも役に立ちませんでした。
興味深い点の 1 つは、「find /home/username/WebNMS -name jaxb-api.jar」を実行すると、/home/username/WebNMS/apache/tomcat/webapps で 1 つの jaxb-api.jar しか見つからないことです。 /WebServices/WEB-INF/lib ディレクトリ。他に jaxb-api.jar ファイルはありません。したがって、JAXB 2.2.6 API jar ファイルしかないのに、JAXB 2.1 API がロードされているというエラーが表示される理由がわかりません。/home/username/WebNMS ディレクトリの外で何かを見つけていない限り、承認されたディレクトリを設定するために 2 つの異なる方法を試したことを考えると、それは起こるべきではありません。
java - javacはシンボルコンストラクターサービスを見つけることができません
私は、このApache CXF Web Service Developmentの本を参考にして CXF を学んでいますが、残念ながら、本のサンプル プロジェクトの 1 つがコンパイルすらできません!
問題のコードは第 3 章のものであり、本のサポート サイトcontractfirstからダウンロードしたソース コードをそのまま使用しているため、タイプミスの問題ではありません。
3 つのコンパイル エラーは、実際には 1 つの問題を示しています。
ファイル OrderProcessService.java 内。
最初の再検索では、これはJAX-WS 2.2 と 2.1の問題である可能性があることが示唆されていますが、この ANT ベースのコンパイル環境で JAX-WS 2.2 を「承認」する方法がわかりません。
を配置しようとjaxws-api.jarし%JAVA_HOME%\lib\endorsed、そのjarをプロジェクトのライブラリリストに追加しようとしましたが、何も役に立たなかったようです。
私はMavenを使用していないため、依存関係としてリストすることさえできず、これが魔法のように解決されることを願っています。
この問題を解決する方法はありますか? この非常に単純なプロジェクトをビルドできるようにするには?
maven - 承認された外部ディレクトリを備えたMavenJettyプラグイン
100を超える外部ライブラリの依存関係を持つプロジェクトがあります。ここでは、サーバー内のディレクトリ(現在は$ CATALINA_HOME / lib / endorsedの下にあります)に構成されたこの承認済みのjarライブラリでtomcatを使用しているため、Webアプリケーションは実行時にこれらのリソースにアクセスできます始める。
tomcatはメモリを大量に消費し、頻繁にクラッシュするため、代わりにjettyを試してみたかったのです。ここで、maven-jetty-pluginを渡して、このjarのフォルダーを指定し、webappクラスローダーがクラスパスでそれらを見つけるようにするパラメーターがあるかどうか疑問に思っています。
構成タグでextraClasspathを試しましたが、クラスのみが読み込まれ、設定したディレクトリ内のすべてのjarが無視されるようです(jarのフルネームパスを渡すと読み込まれますが、設定したくありません私がそこに必要なすべてのライブラリ)。
助けてくれてありがとう
更新:これは標準のMaven操作ではないことを知っています。このプロジェクトは非常に巨大であり、必要に応じてリファクタリングできないため、緊急の回避策を探しています。しかし、この機能は一見したほどトリッキーではないとも思っていました。
jax-ws - mavenビルドにjaxws-api 2.2がロードされていません
Apache CXF ツール wsdl2java を使用して Java コードを生成しました。私のサービスのコメントでは、Jaxws API 2.2 を推奨する必要があると書かれていますが、それが何を意味するのかわかりません。私のMaven POMにはこれがあります:
ビルド時に、Maven で次のエラーが発生します。
シンボル symbol が見つかりません: コンストラクタ Service(java.net.URL,javax.xml.namespace.QName,javax.xml.ws.WebServiceFeature[])
JAX-WS API 2.2 を確認しましたが、実際にはこのコンストラクターが含まれています...どうすればよいですか?
java - Java の承認と Netbeans
Java のプログラミング中に Netbeans を IDE として使用しています。最近、NetBeans の新しいバージョンが登場しました。だから私はそれをインストールし、私のプロジェクトグループの1つをインポートしました。このグループには、jax-ws を使用する Web クライアントとのプロジェクトがあります。
私は、Netbeans のアップグレード中にそのようなプロジェクトで発生する問題をすべて知っており、それらを回避する方法 (承認されたライブラリを削除する、新しい jax-ws プロジェクトを作成するなど) を知っています。しかし、今回の状況はより複雑です。NetBeans 7.4 は JDK 7 を使用しており、プロジェクトを Java 6 にデプロイする必要があります。Netbeans のデフォルトの Java プラットフォーム (Java 7) 用にプロジェクトを「クリーンおよびビルド」すると、すべて問題なく、JAX-WS-ENDORSED lib は使用されません。 .
NetBeans のプラットフォームを Java 6 (以前は IDE で作成) に変更したとき、よく知っているエラー メッセージ (そのような方法はありません... など) を受け取りました - これらは JDK 6 の Jax-ws のバージョンが原因で発生します。 libを承認しました(ダミープロジェクトでトリックを使用)が、効果はありませんでした。
次に、endorsed.classpath=${libs.JAX-WS-ENDORSED.classpath} 行を project.properties (nbproject ディレクトリ内) に追加すると、エラーが消えました。しかし、IDE を再起動すると、この行は project.properties ファイルから消え、エラーが再発しました。そのような行をprivate.propertiesファイルに追加しようとしましたが、その後、「クリーンアンドビルド」プロセス中に「そのようなライブラリはありません」というエラーが発生しました。そのため、Netbeans を再起動するたびに、project.properties を開き、endorsed.classpath 行を手動で追加します。
ここに質問があります:
この行を作成するにはどうすればよいですか:永久endorsed.classpath=${libs.JAX-WS-ENDORSED.classpath}にファイルにとどまりますか?project.properties
java - WAR ファイルの承認済み標準オーバーライド メカニズム
Endorsed Standards Overrides に WAR ファイルを提供するにはどうすればよいですか? 私たちのアプリケーションには、最近のバージョンの apache xerces (少なくとも 2.9.1) に依存するいくつかの依存関係があります。
Glassfishのドキュメントでは、jar ファイルを に配置するように提案されてdomaindir/lib/endorsedいますが、これはインストール時に手動で行う必要があります。管理者が 1 つのコマンドで war ファイルを展開するだけでよいように、ライブラリを WAR ファイルに直接提供する方法はありますか?
java - 承認されたdirメカニズムが機能していませんか?
JDK 1.8 クラス内で起こっていることをデバッグする必要があります。hereで言及されている承認済みのdir メカニズムを使用しようとしていますが、うまく機能していないようです。これは私がしたことです(Windowsで):
- クラス
javax.swing.plaf.basic.BasicListUIのソースコードを<JDK_HOME>/jre/lib/endorsed/javax/swing/plaf/basic/ クラス コードを変更し、以下を追加しました。
これにより、クラスがロードされるとすぐにメッセージが出力されると思います。
cd し
<JDK_HOME>/jre/lib/endorsedて実行しますjavac javax/swing/plaf/basic/BasicListUI。これによりBasicListUI.class、ソース ファイルと同じディレクトリにファイルが生成されます。このプログラムを書き、コンパイルしました。
/li>でプログラムを実行しました
/li>java t。メッセージが表示されずREPLACED BasicListUI、プログラムの出力は次のとおりです。
また、私が実行した場合:
出力は次のとおりです。
私は何が欠けていますか?