eclipse에서는 프로젝트에 의존성 (즉, JAR 파일)을 쉽게 추가 할 수 있습니다. 프로젝트를 마우스 오른쪽 단추로 클릭하고 경로 -> 빌드 경로 -> 라이브러리 추가를 클릭하십시오.Maven 프로젝트에 의존성 추가
숨겨진 파일이 프로젝트 내부에서 ".classpath"로 만들어집니다.
import foo.bar.*;
이 "응용 프로그램이"이제 단일 단지로 내보낼 수 있습니다 :이 파일 내부 그래서 지금은 자바 파일에 추가하여 라이브러리를 사용하여 추가 된 classpathEntry이다.
어떻게 메이븐과 이클립스없이 이것을 할 수 있습니까? 나는 명령과 함께 ... 이맥스에 :)
전환 :
mvn archetype:generate -DgroupId=com.mycompany.app -DartifactId=my-cli -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false
내가 나 자신 샘플 시작 응용 프로그램을 얻을. src 폴더 안에는 명령 줄에 "hello World"를 쓰는 App.java 파일이 있습니다.
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
<version>2.10</version>
<executions>
<execution>
<id>copy</id>
<phase>package</phase>
<goals>
<goal>copy</goal>
</goals>
<configuration>
<artifactItems>
<artifactItem>
<groupId>com.mycompany.third-party</groupId>
<artifactId>commons-cli-archetype</artifactId>
<version>1.0-SNAPSHOT</version>
<type>jar</type>
<overWrite>false</overWrite>
<!--${project.basedir} ${project.build.directory} -->
<outputDirectory>${project.basedir}/resources/repo</outputDirectory>
<destFileName>optional-new-name.jar</destFileName>
</artifactItem>
</artifactItems>
<outputDirectory>${project.basedir}/resources/repo</outputDirectory>
<overWriteReleases>false</overWriteReleases>
<overWriteSnapshots>true</overWriteSnapshots>
</configuration>
</execution>
</executions>
</plugin>
지금 어떻게 내 App.java 안쪽이 항아리를 사용할 수 있습니다 다음 성공적으로 나 자신 내 프로젝트 내부 항아리 (받는다는 indedependent 배포)을 획득 pom.xml 파일에 다음과
? .classpath 파일을 수동으로 만들어야합니까? 클래스 패 턴을 자동으로 정렬하려면 어떻게해야합니까? classpassentries를 사용하여 manifest.MF를 만들려고했으나 성공하지 못했습니다. 여러 자습서를 시도했습니다. 수동으로 MANIFEST.MF를 생성 한 후
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<includes>
<include>${project.basedir}
/resources/repo/optional- new-name.jar</include>
</includes>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<configuration>
<archive>
<manifest>
<addDefaultImplementationEntries>true
</addDefaultImplementationEntries>
<addClasspath>true</addClasspath>
<mainClass>your.main.Class</mainClass>
</manifest>
<manifestEntries>
<Class-Path>${project.basedir}/resources/repo</Class-Path>
</manifestEntries>
<manifestFile>
<!--
${project.build.outputDirectory}/META-INF/MANIFEST.MF
-->
${project.basedir}/META-INF/MANIFEST.MF
</manifestFile>
</archive>
<!--
<archive>
<manifest>
<mainClass>com.mkyong.core.App</mainClass>
</manifest>
</archive>
-->
</configuration>
:
나는 어떠한 succes에 없었다. 명령mvn clean install
MANIFEST.MF 후
는 비어 있습니다.
도움을 받으실 수 있습니다.
감사합니다! 일식 사용하지 않는
달성하고자하는 것이 분명하지 않습니다. 어떤 항아리를 만들고 싶니? 왜 "프로젝트 안에 병"을 갖고 싶습니까? –
예. app.java 파일 안에 jar 파일을 가져오고 싶습니다. 그리고 그것의 수업을 사용하십시오. eclips를 사용하고 라이브러리를 프로젝트에 추가하는 것처럼 말입니다. –
Maven을 사용하면 jar를 로컬 저장소에 설치하거나 Nexus/Artifactory에 배치 할 수 있습니다. 그런 다음 pom 파일에서으로 참조하십시오. 이런 식으로하고 싶지 않은 이유가 있습니까? –