私は知っています、同様の質問がここで尋ねられましたが、それらのどれも私の正確な問題に適合していないようです。リソースはEclipseではロードされていますが、IntelliJではロードされていません
String htmlDocName = "TweetView.html";
Class thisClass = this.getClass();
URL htmlResourceURL = thisClass.getResource(htmlDocName);
これはEclipseで正常に動作します:、私は次のようにTweetView.htmlのリソースURLを取得しようとしているTweetView.javaで
src
|__view
|__TweetView.java
|__TweetView.html
:私は、次の(部分)のディレクトリ構造を持っています(Neon.2)、IntelliJ(2017.2.3)ではhtmlResourceURL
は常にnull
です。私は、HTMLファイルの場所が理想的ではないかもしれないことを知っています(リソースフォルダに入れなければなりません)。しかし、いろいろな理由で、私は今これを変更するつもりはありません。
私は、srcフォルダがIntelliJのプロジェクト構造内の "Sources"フォルダとしてマークされ、そのサブフォルダが明示的にマークされていないことがわかりました。プロジェクトがMavenを使用しているため、プロジェクト設定はEclipseとIntelliJで共有されません。注:この問題は、JAR/WARエクスポートではなく、それぞれのIDE内から直接Javaアプリケーションとしてプロジェクトを実行することに関して記述されています。
IntelliJには、どのファイルタイプをリソースと見なすべきかを定義するこれらの「リソースパターン」がありますが、ワイルドカードの有無にかかわらず.htmlを追加することで動作させることはできませんでした(IntelliJとにかく.htmlはデフォルトでリソースと見なされます)。
誰でも問題の原因を考えている人はいますか? Eclipseで動作するので、コードを変更するのではなく、IntelliJの設定で問題を解決するのが理想的です。
EDIT: はここに私のPOMです:あなただけの "Javaアプリケーションとして実行" を行う場合には、Eclipseで
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>demo</groupId>
<artifactId>demo</artifactId>
<version>0.0.1-SNAPSHOT</version>
<build>
<sourceDirectory>src</sourceDirectory>
<plugins>
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.5.1</version>
<configuration>
<source>1.8</source>
<target>1.8</target>
</configuration>
</plugin>
</plugins>
<resources>
<resource>
<directory>src/view</directory>
</resource>
</resources>
</build>
<dependencies>
<dependency>
<groupId>com.twitter</groupId>
<artifactId>hbc-twitter4j</artifactId>
<version>2.2.0</version>
</dependency>
<dependency>
<groupId>org.eclipse.jetty</groupId>
<artifactId>jetty-server</artifactId>
<version>9.4.0.M1</version>
</dependency>
</dependencies>
*のHTMLファイルをそのまま残すことができます。Mavenはすべての 'src/view/* .html'ファイルをアプリケーションのクラスパスに明示的に移動させましたか?言い換えれば、コードがコンパイルされた後に 'src /'が存在せず、 –
を実行しました。はい、pom.xmlののリソースとして追加しようとしましたが、何も変更されませんでした。これは、Eclipseで動作するので、特に混乱します。ポームの変更は必要ありません。 –
Silas
IntelliJが作成する 'build /'または 'target /'フォルダを調べて、その中の内容を見ることができますか? –