問題タブ [wsgen]
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.
java - Wsgen クラスが見つかりません
wsgen にはほとんど問題がありません。使用するたびに、「クラスが見つかりません」というエラーが表示されます。ディレクトリ webservices のクラス StudentServiceEndpoint に使用したい。どうすればいいですか?
これが私のディレクトリ構造の写真です: http://img198.imageshack.us/img198/4274/5g8.png
http://img441.imageshack.us/img441/737/eo4.png
PS。私の英語でごめんなさい;p
編集:画像を編集しました。
java - jax-ws: 「wsgen」ツールの「keep」フラグは正確には何をしますか?
keep
ツールのフラグは正確には何をwsgen
しますか? Oracle Java 7 に同梱されているデフォルトのコマンドライン実装を使用しています (at: /usr/lib/jvm/java-7-oracle/bin/wsgen
)。
ドキュメントには、「生成されたファイルを保持する」と書かれていますが、両方を試しました:
と
生成されたファイルは常に上書きされます (Java クライアント スタブ ファイルと wsdl ファイルの両方)。wsgen
Ant タスクでも同じ動作が見られkeep
ます。true
false
web-services - wsgen と @Interceptors の使用が原因 --> サポートされていない major.minor バージョン 51.0
耳にパッケージ化された Java EE プロジェクトがあります。ear には、@stateless EJB とその他の管理されていないクラス (モデル、ユーティリティなど) をパッケージ化する 1 つの Jar が含まれています。これらの EJB の一部については、Jax-Ws を使用してそれらの機能を Web サービスとして公開しています。
AOP を使用してロギング メカニズムを作成しようとしているので、Jax-Ws を利用した EJB に @Interceptors アノテーションを配置します。問題は、maven を使用してコンパイル/ビルド/パッケージ化しようとすると、次の例外が発生することです。@Interceptors アノテーションを、問題なくコンパイルおよび実行される非 Jax-ws アノテーション付き EJB に配置すると、問題は wsgen の原因に固有のもののようです。Java ビルド 1.6.0_41-b02 を使用しています。
また、javax.interceptor-api の古いバージョンを見つけようとしました (メジャー.マイナー バージョン 51.0 は、正しく取得すれば JSE 7 でコンパイルされたことを意味するため、おそらく Java 1.6 でコンパイルされました)が、1.2 が古いようです1。
私のポンポン(一部):
マイビーン(一部)
java - Maven: wsgen の実行時に tools.jar が見つかりません
Windows 8 コマンド ラインから maven プラグインを使用しようとしましjaxws:wsgen
たが、次のエラーで失敗します。
java.lang.ClassNotFoundException: com.sun.mirror.apt.AnnotationProcessorFactory
これは、Maven が JDK で tools.jar を見つけられないことを示していますが、これを追加する方法がわかりません (JDK はもちろんインストールされています)。
私の構成に関する詳細は次のとおりです。
そこで、pom.xml にプロファイル セクションを追加しようとしました。
そして実行
しかし、私はまだ取得しClassNotFoundException
ます。
完全な出力:
[エラー] プロジェクト WebService で目標 org.codehaus.mojo:jaxws-maven-plugin:1.10:wsgen (generate-wsdl) を実行できませんでした: wsgen を実行できませんでした: com/sun/mirror/apt/AnnotationProcessorFactory: com.sun. mirror.apt.AnnotationProcessorFactory -> [ヘルプ 1] org.apache.maven.lifecycle.LifecycleExecutionException: プロジェクト WebService で目標 org.codehaus.mojo:jaxws-maven-plugin:1.10:wsgen (generate-wsdl) を実行できませんでした: 失敗しましたorg.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:216) で wsgen を実行するには、org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:153) で org.apache. org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:84) org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:59) で org.apache.maven.lifecycle.internal.LifecycleStarter.singleThreadedBuild(LifecycleStarter.java:183) で org.apache.maven .lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:161) で org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:317) で org.apache.maven.DefaultMaven.execute(DefaultMaven.java:152) でorg.apache.maven.cli.MavenCli.execute(MavenCli.java:555) at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:214) at org.apache.maven.cli.MavenCli.main( MavenCli.java:158) で sun.reflect.NativeMethodAccessorImpl.invoke0(ネイティブ メソッド) で sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher) で java.lang.reflect.Method.invoke(Method.java:606) で sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) で.java:289) org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:229) で org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:415) で org. codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:356) 原因: org.apache.maven.plugin.MojoExecutionException: org.codehaus.mojo.jaxws.AbstractWsGenMojo.execute(AbstractWsGenMojo. java:102) org.codehaus.mojo.jaxws.MainWsGenMojo.execute(MainWsGenMojo.java:14) で org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:106) at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:208) ... 19 より多くの原因: java.lang.NoClassDefFoundError: com/sun/mirror/apt /AnnotationProcessorFactory の java.lang.ClassLoader.defineClass1(Native Method) の java.lang.ClassLoader.defineClass(ClassLoader.java:800) の java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142) の java.net.URLClassLoader .defineClass(URLClassLoader.java:449) で java.net.URLClassLoader.access$100(URLClassLoader.java:71) で java.net.URLClassLoader$1.run(URLClassLoader.java:361) で java.net.URLClassLoader$1.run (URLClassLoader.java:355) で java.security.AccessController.doPrivileged(ネイティブ メソッド) で java.net.URLClassLoader.org.codehaus.plexus.classworlds.realm.ClassRealm.loadClassFromSelf(ClassRealm.java:389) の findClass(URLClassLoader.java:354) org.codehaus.plexus.classworlds.strategy.SelfFirstStrategy.loadClass(SelfFirstStrategy.java:42) の findClass(URLClassLoader.java:354) org.codehaus.plexus.classworlds.realm.ClassRealm.unsynchronizedLoadClass(ClassRealm.java:259) で org.codehaus.plexus.classworlds.realm.ClassRealm.loadClass(ClassRealm.java:235) で org.codehaus.plexus.classworlds .realm.ClassRealm.loadClass(ClassRealm.java:227) の com.sun.tools.ws.WsGen.doMain(WsGen.java:69) の org.codehaus.mojo.jaxws.AbstractWsGenMojo.execute(AbstractWsGenMojo.java:97) ) ... 22 以上 原因: java.lang.ClassNotFoundException: com.sun.mirror.apt.AnnotationProcessorFactory at org.codehaus.plexus.classworlds.strategy.org.codehaus.plexus.classworlds.realm.ClassRealm.unsynchronizedLoadClass(ClassRealm.java:259) の SelfFirstStrategy.loadClass(SelfFirstStrategy.java:50) org.codehaus.plexus.classworlds.realm.ClassRealm.loadClass(ClassRealm.java: 235) at org.codehaus.plexus.classworlds.realm.ClassRealm.loadClass(ClassRealm.java:227) ... 38 もっと見る
またtools.jar
、ローカルリポジトリに入れても問題は解決しませんでした。
次に何をしようか考えている人はいますか?
ありがとう!
web-services - apt vs wsgen vs wsimport .何をいつ使用し、なぜ他のものを使用しないのかについての混乱
私は Web サービス (JAX-WS) を作成しようとしており、2006 年から 2013 年までのチュートリアルを多数経験しました。それらのほとんどは、いくつかの IDE に関するものです。Web サービスの手動作成/デプロイについて話しているのは、ant スクリプトを使用したものです。ここまではすべて問題ありません。
Ant スクリプトを確認した瞬間、混乱が始まります。一部の古いチュートリアルでは、APT タスクを使用して SEI をコンパイルし、wsgen を使用してアーティファクトを生成します。新しいものは wsgen のみを使用します (ただし、APT は ant スクリプトで taskdef として定義されています)。また、JAVA 7 のドキュメントについて読んでいると、javac 自体がすべてのコンパイルとアーティファクトの要求を行うため、wsgen を使用する必要はないと書かれています。for WS は実行時に動的に生成されます。
SEI で javac コマンドを使用して tomcat にデプロイしようとしましたが、うまくいきませんでした。
Web サービスをデプロイするために Java SE 7 エディションでどのコマンドを使用する必要があるかを明確にしてください。
また、各コマンドが何を生成し、どのコマンドをいつ使用するかを知りたいです。
私の知る限り、開発と展開には wsimport は必要ありませんが、WS-client を構築する必要があるだけです。これは正しいです?そうでない場合は、私の理解を明確にするための指針を教えてください。
前もって感謝します
また、私が自分自身を繰り返している場合は、StackOverflow を初めて使用し、これにあまり慣れていないため、申し訳ありません。:)
java - wsgen 'クラスが見つかりません'
これは私のJavaプロジェクトのセットアップです
cmd で wsgen を実行しようとしています:
wsgen -keep -cp . com.library.webservice.HelloWorldImplementation
しかし、私はエラーが発生しています
Class not found: "com.library.webservice.HelloWorldImplementation"
また、コマンドはから実行されていますC:\ ... \WebServices Test\src
私が間違っていることは何か分かりますか?