Maven 프로젝트를 만들 때마다 파일 .iml
과 파일 pom.xml
이 있습니다. 관계가 정확히 무엇입니까?.iml 파일과 pom.xml 파일 간의 관계
답변
pom.xml은 프로젝트의 종속성, 실행할 플러그인 및 기타 많은 것들을 해결하기 위해 maven에서 사용됩니다. maven website :
프로젝트 개체 모델 또는 POM은 Maven의 기본적인 작업 단위입니다. Maven이 프로젝트를 빌드하는 데 사용하는 프로젝트 및 구성 정보에 대한 정보가 들어있는 XML 파일입니다.
반면에 .iml
파일 인 IntelliJ 자신의 project structure의 일부입니다. 짧은 버전은 나머지 프로젝트 또는 다른 프로젝트가 아닌 모듈에만 표시되는 라이브러리 (예 : jar)를 선언한다는 것입니다. pom.xml
에 선언 된 각 이슈에 해당하는 라이브러리 항목이 포함 된 xml 파일이며 해당 범위 (예 : TEST
또는 COMPILE
)와 함께 표시됩니다. 예를 들어 :
<?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>
나는 관계없이 프로젝트 (예를 들어 받는다는 대 Gradle을)를 사용하는 빌드 시스템, 그것은 프로젝트 빠르게 읽을 수 있도록 인 IntelliJ가 자신의 파일 형식을 유지 가정합니다.
IntelliJ 아이디어가 maven project mode (POM.xml) 자체를 이해하지 못합니다. 아이디어에서 maven 프로젝트를 생성하거나 가져올 때. 또한 자체 프로젝트 구조, Maven 종속성, 모듈 세부 사항 등을 생성합니다. 기본적으로 프로젝트 메타 데이터는 내부적으로 이해하고 사용할 수있는 형식으로 작업에 필요합니다. 이 메타 데이터는 .iml
파일과 .idea
프로젝트 디렉토리에 저장됩니다.
자신의 구조를 유지하는 주된 이점은 더 빠르게 실행하고 프로젝트를 효율적으로 관리 할 수있는 능력을 제공합니다. 이 두 파일 간의 관계에 대한 설명을하기를 바랍니다.
샘플의 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. Magento : 템플릿 파일과 레이아웃 XML 파일 간의 관계
- 2. netbeans web.xml 파일은 eclipse의 pom.xml 파일과 동일합니까?
- 3. CSV 파일과 사용자 지정 데이터 구조 간의 관계 시각화
- 4. 프로세스의 파일, mm_struct와 files_struct의 파일 간의 관계? task_struct에있어서
- 5. IDL과 C++ 소스 파일 간의 관계
- 6. UML 방식으로 애플리케이션과 파일 간의 관계 표시
- 7. 나는 pom.xml 파일
- 8. 구성 pom.xml 파일
- 9. 첨부 파일과 첨부 파일의 관계
- 10. 파일 설명자, 파일 포인터 및 파일 위치 표시기 간의 관계
- 11. Makefile의 소스와 바이너리 간의 관계
- 12. Struts-config.xml과 web.xml 간의 관계 (배포 설명)
- 13. 사운드 파일과 애니메이션 간의 동기화
- 14. 두 테이블 간의 관계 : 두 테이블 간의 관계
- 15. EXTJS와 JSON 간의 관계
- 16. C++ 객체 간의 관계
- 17. dwPageSize와 dwAllocationGranularity 간의 관계
- 18. DialogFragment와 DialogInterface 간의 관계
- 19. 연결과 트랜잭션 간의 관계
- 20. 테이블 간의 관계 만들기
- 21. 서비스 간의 관계
- 22. MVVM - 모델 간의 관계
- 23. log4j와 apache.commons.logging 간의 관계
- 24. 하둡과 데이터베이스 간의 관계
- 25. 테이블 간의 SQL 관계
- 26. HttpContext.Request.Cookies와 HttpContext.Response.Cookies 간의 관계
- 27. 스레드 (작업) 간의 관계
- 28. 몽구스 모델 간의 관계
- 29. 테이블 간의 관계 hsqldb
- 30. SelectListItem과 SelectList 간의 관계
IML은하게 IntelliJ IDEA 모듈에 의해 생성 된 파일이며 .iml. 개발 모듈에 대한 정보를 저장하고 모듈 경로, 종속성 및 기타 설정을 저장합니다. –