Mavenプロジェクトを作成するたびに.iml
ファイルとpom.xml
ファイルがあります。 彼らの関係は正確には何ですか?.imlファイルとpom.xmlファイルの関係
答えて
pom.xmlはプロジェクトの依存関係を解決するためにmavenによって使用されます。これは実行するプラグインとその他の多くのものです。 maven website:
プロジェクトオブジェクトモデルまたはPOMは、Mavenの基本的な作業単位です。これは、Mavenがプロジェクトをビルドするために使用するプロジェクトと設定の詳細に関する情報を含むXMLファイルです。
他方、ファイルは、IntelliJ自身のproject structureの一部です。短いバージョンでは、プロジェクトやその他のプロジェクトの残りの部分ではなく、モジュールだけが見ることができるライブラリ(例:jar)を宣言しています。 pom.xml
に宣言された各成果物のライブラリエントリとそのスコープ(例:TEST
またはCOMPILE
)を含むxmlファイルです。たとえば:
<?xml version="1.0" encoding="UTF-8"?>
<module org.jetbrains.idea.maven.project.MavenProjectsManager.isMavenModule="true" type="JAVA_MODULE" version="4">
<component name="NewModuleRootManager" LANGUAGE_LEVEL="JDK_1_8">
<output url="file://$MODULE_DIR$/target/classes" />
<output-test url="file://$MODULE_DIR$/target/test-classes" />
<content url="file://$MODULE_DIR$">
<sourceFolder url="file://$MODULE_DIR$/src/main/java" isTestSource="false" />
<sourceFolder url="file://$MODULE_DIR$/src/test/java" isTestSource="true" />
<excludeFolder url="file://$MODULE_DIR$/target" />
</content>
<orderEntry type="inheritedJdk" />
<orderEntry type="sourceFolder" forTests="false" />
<orderEntry type="library" scope="COMPILE" name="Maven: com.google.guava:guava:18.0" level="project" />
<orderEntry type="library" scope="TEST" name="Maven: org.hamcrest:hamcrest-library:1.3" level="project" />
<orderEntry type="library" scope="TEST" name="Maven: org.hamcrest:hamcrest-core:1.3" level="project" />
<orderEntry type="library" scope="TEST" name="Maven: junit:junit:4.12" level="project" />
</component>
</module>
私はそれは関係なく、プロジェクトが(例えばMavenの対のGradle)を使用しているシステムを構築し、そのうちの高速化プロジェクトを読むことができるので、IntelliJのは、独自のファイル形式を保持しますと仮定します。
IntelliJのアイデアはmaven project mode(POM.xml)自体を理解していません。アイデアでMavenプロジェクトを作成またはインポートするとき。また、独自のプロジェクト構造、依存関係、モジュールの詳細などを作成します。基本的に必要なプロジェクトメタデータは、内部的に理解できるフォーマットで、アクションのために必要です。これらのメタデータは.iml
ファイルと.idea
プロジェクトディレクトリに格納されています。
独自の構造を維持することの主な利点は、より速く実行し、プロジェクトを効率的に管理する能力を提供することです。この2つのファイルの関係について説明してください。
サンプルのpom.xml
<?xml version="1.0" encoding="UTF-8"?>
<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>test</groupId>
<artifactId>test</artifactId>
<version>1.0-SNAPSHOT</version>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>1.8</source>
<target>1.8</target>
</configuration>
</plugin>
</plugins>
</build>
<dependencies>
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>${log4j.version}</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-log4j12</artifactId>
<version>${org.slf4j.version}</version>
</dependency>
<dependency>
<groupId>org.easymock</groupId>
<artifactId>easymock</artifactId>
<version>2.5.2</version>
<optional>true</optional>
</dependency>
<dependency>
<groupId>org.jmock</groupId>
<artifactId>jmock</artifactId>
<version>${jmock.version}</version>
<optional>true</optional>
</dependency>
<dependency>
<groupId>org.jmock</groupId>
<artifactId>jmock-junit4</artifactId>
<version>${jmock.version}</version>
<optional>true</optional>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>${junit.version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>junitperf</groupId>
<artifactId>junitperf</artifactId>
<version>1.8</version>
</dependency>
</dependencies>
<properties>
<jmock.version>2.5.1</jmock.version>
<junit.version>4.6</junit.version>
<log4j.version>1.2.14</log4j.version>
<org.slf4j.version>1.5.2</org.slf4j.version>
</properties>
</project>
のrelavent IDEAは
<?xml version="1.0" encoding="UTF-8"?>
<module org.jetbrains.idea.maven.project.MavenProjectsManager.isMavenModule="true" type="JAVA_MODULE" version="4">
<component name="NewModuleRootManager" LANGUAGE_LEVEL="JDK_1_8">
<output url="file://$MODULE_DIR$/target/classes" />
<output-test url="file://$MODULE_DIR$/target/test-classes" />
<content url="file://$MODULE_DIR$">
<sourceFolder url="file://$MODULE_DIR$/src/main/java" isTestSource="false" />
<sourceFolder url="file://$MODULE_DIR$/src/main/resources" type="java-resource" />
<sourceFolder url="file://$MODULE_DIR$/src/test/java" isTestSource="true" />
<excludeFolder url="file://$MODULE_DIR$/target" />
</content>
<orderEntry type="inheritedJdk" />
<orderEntry type="sourceFolder" forTests="false" />
<orderEntry type="library" name="Maven: log4j:log4j:1.2.14" level="project" />
<orderEntry type="library" name="Maven: org.slf4j:slf4j-log4j12:1.5.2" level="project" />
<orderEntry type="library" name="Maven: org.slf4j:slf4j-api:1.5.2" level="project" />
<orderEntry type="library" name="Maven: org.easymock:easymock:2.5.2" level="project" />
<orderEntry type="library" name="Maven: org.jmock:jmock:2.5.1" level="project" />
<orderEntry type="library" name="Maven: org.hamcrest:hamcrest-core:1.1" level="project" />
<orderEntry type="library" name="Maven: org.hamcrest:hamcrest-library:1.1" level="project" />
<orderEntry type="library" name="Maven: org.jmock:jmock-junit4:2.5.1" level="project" />
<orderEntry type="library" name="Maven: junit:junit-dep:4.4" level="project" />
<orderEntry type="library" scope="TEST" name="Maven: junit:junit:4.6" level="project" />
<orderEntry type="library" name="Maven: junitperf:junitperf:1.8" level="project" />
</component>
</module>
- 1. アイデアのimlファイルの代わりにpom.xmlを使用
- 2. pom.xmlファイルにwarファイルをmaven依存関係として追加する方法
- 3. IntelliJ IDEA + Maven imlファイルの依存関係エントリの必要性は何ですか?
- 4. IntelliJ IDEAディレクトリベースのフォーマットと.imlファイル
- 5. pom.xmlファイルに依存関係を追加することはできますか?
- 6. 強制ロードする方法imlファイルintellij
- 7. hadoopのtファイルとdatablockの関係は?
- 8. netbeans web.xmlファイルはeclipseのpom.xmlファイルと同じですか?
- 9. .classファイルの依存関係
- 10. ファイルの依存関係Gradle
- 11. MDFファイルの依存関係
- 12. プロセスのファイル、mm_structとfiles_structのファイル間の関係?
- 13. SAS/IMLでSAS/IML
- 14. Android StudioとGithubに.imlファイルがありません
- 15. リモートリポジトリjarファイルをpom.xml依存ファイルとして追加する
- 16. maven依存関係の一部であるjarファイルから、maven ear/ejbのpom.xmlのプロパティを読み取る
- 17. Jenkinsパイプライン内のpom.xmlファイルの解析
- 18. pom.xmlの依存関係のライセンスを判断するツール
- 19. IntelliJ IDE | .imlファイルの消失または削除
- 20. システムパスをpom.xml外の依存関係に指定します。
- 21. Java 1.4のJarファイルの依存関係
- 22. Java IOファイルの依存関係
- 23. jarファイルの逆依存関係
- 24. Weka Machineラーニング:ARFFファイル:複数の関係
- 25. META-INF/MANIFEST.MFファイルのライブラリ依存関係
- 26. 依存関係のないpackage.jsonファイル?
- 27. 依存関係のないcreate.aarファイル
- 28. pom.xmlをjarファイルに生成する
- 29. PROC IMLのSAS関数の繰り返しと同じです。
- 30. ファイルから依存関係を作る
IMLはのIntelliJ IDEAによって作成されたモジュールのファイルです.IML。開発モジュールに関する情報を格納し、モジュールのパス、依存関係、およびその他の設定を保存します。 –