問題タブ [java-6]
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 - JBoss 5.1 でのみ発生する UnsupportedClassVersionError
私のアプリケーションには、Java6 でコンパイルされたサードパーティの jar (com.springsource.org.aspectj.weaver-1.6.8.RELEASE.jar) が含まれています。Java5 を実行する Tomcat 5.5 で使用できましたが、同じアプリケーションを JBoss 5.1 にデプロイしようとすると、次のエラーが表示されます。
[org.jboss.detailed.classloader.ClassLoaderManager] (メイン) ロード中の予期しないエラー:testdata.SomeAnnotation java.lang.UnsupportedClassVersionError: .class ファイルのバージョン番号が正しくありません
それは私だけではないことに気づきました。ここで説明されているように。
私の質問:
1) Tomcat などの Web サーバーでこの jar を使用できるのに、それでも Jboss 5.1 が問題になるのはなぜですか?
2) Jboss クラス ローダーは、フレームワークのロードに使用するアプリケーションの Jweaver の実装をロードし、Jboss のspectJ 実装を使用しないのはなぜですか。おそらく、クラスのロードを親優先になるように構成する必要があります。これでこの問題は解決しますか?
xsd - dom4j DOMDocument を使用して validator.validate(DOMSource) をフィードすると、Java 1.6 で失敗し (xsi:noNamespaceSchemaLocation は許可されません)、1.5 で機能します。
dom4j DOMDocument を使用して validator.validate(DOMSource) をフィードすると Java 1.6 で失敗し (xsi:noNamespaceSchemaLocation をルート要素に表示することは許可されていません)、1.5 で機能します。
次の問題は非常に扱いにくいと思います(OK、それは控えめな表現です)-洞察をいただければ幸いです。現在、XOM (http://stackoverflow.com/questions/831865/what-java-xml-library-do-you-recommend-to-replace-dom4j) などを優先して dom4j を削除するのが最善の方法のようです。
dom4j 'new DOMDocument()' から作成された XML をメモリ内で検証してきましたが、これは Java 6 では機能しません。
次の dom4j (1.6.1) DOMDocument 派生 DOMSource の validate(source) の呼び出しは、Java 1.5.x では機能しますが、Java 1.6.x では失敗します。
getSchemaURLString() は、xsi:noNamespaceSchemaLocation 属性をルート ノードに追加するためにも使用されます。
例外は次のとおりです。
これが XML の始まりです - validator.validate(source) への呼び出しを無効にした後に生成されます。
そしてXSDの:
xsi:noNamespaceSchemaLocation 属性が含まれているため、私のルート要素は拒否されています。そして、スキーマ自体はそれをルート要素の有効な属性として指定していませんか?
この時点で、このタスクのために dom4j をあきらめて、他のソリューションの 1 つに切り替える必要があるように思えます。
しかし、とにかく私が間違ったことを知りたいです!
前もって感謝します。
java - Java ファイルから別の Java ファイルをコンパイルする
単なる好奇心から。別のJavaプログラムからJavaファイルをコンパイルして実行できますか? もしそうなら、その知識源への参照を送ることができますか?
java - Javaでの動的関数の作成
そこで、Javaでメソッドを動的に作成/クラスに割り当てるメソッドがあるかどうかを調べようとしています。Cの場合は、ポインターを使用して次のようにします。
ただし、Javaにはもちろんポインタがないので、Javaアプリケーションから同様の機能を引き出す方法はありますか?
java - java.util.ServiceLoader による汎用サービス実装のロード
先日、使用中に不都合がjava.util.ServiceLoader
あり、いくつかの質問がありました。
一般的なサービスがあるとします。
特定のジェネリック型を持つ実装のみServiceLoader
をロードするように明示的に指示することはできませんでした。
私の質問はServiceLoader
、一般的なサービスの実装を安全にロードするために使用する合理的な方法は何ですか?
上記の質問をした後、Paŭlo の回答の前に、解決策を思いつくことができました。
同じ方法での変更boolean canServe(Class<?> t)
とboolean canServe(Object o)
変更は、より動的になる可能性があります(最初にインターフェイスに<T> Service<T> getService(Class<?> t)
メソッドがあったため、後者を自分で使用しています)。boolean canHandle(T t)
string - Java 6 で部分文字列を検索する
Java 6の API を調べString
たところ、特定の部分文字列が特定の .xml 内に出現する回数を計算する方法が見つかりませんでしたString
。
たとえば、文字列に"is"
orが何回出現するか知りたいです。"not"
"noisxxnotyynotxisi"
ループで長い道のりを歩むことはできますが、もっと簡単な方法があるかどうか知りたいです。
ありがとう。
編集:Java 6を使用しています。
java - Eclipse の Java コンソール
Java 6 コンソール API を実装しようとしています。Java クラスを実行しようとするJava Application
と、コンソールが null になるのはなぜですか? または、次のようにコマンドプロンプトから.javaを実行しますかc:workspace>java -cp . console
私の console.java クラス
java - ベクターにハッシュコードを説明する
ベクトルに追加された要素ごとに、ハッシュコードがどのように値を取得するかを理解できますか?
ハッシュコード値は
java - DequeのArrayDequeクラス
ArrayDequeクラスはDequeを実装し、容量制限がないため。addFirst()
、などの例外スローメソッドの目的は何addLast()
ですか?配列には境界がないため、どのような場合でも要素が追加されます。ブロック内で使用できる実装try{}catch{}
と、addFirstが例外をスローする可能性があるシナリオについて誰かが説明できますか?
swing - java6スイングコードをjava5に移植
JTabbedPane Java 6 拡張を使用するコードがあります (メソッド indexOfTabComponent(Component) を使用します)。このコードを Java 5 と互換性を持たせるにはどうすればよいですか?
Java 6 にアップグレードするように言わないでください。できません。