eclipseでは、依存関係(つまりJARファイル)をプロジェクトに簡単に追加できます。 プロジェクトを右クリックし、[ビルドパス] - > [ライブラリを追加]をクリックします。Mavenはプロジェクトに依存関係を追加します
ここでは、隠しファイルがプロジェクト内で ".classpath"に作成されます。
import foo.bar.*;
この「アプリケーションは、」今、単一のjarファイルにエクスポートすることができます。このファイル内 は今、私はjavaファイルでそれを追加することによって、ライブラリを使用することができます追加classpathEntryです。
私はこれをMavenとeclipseなしでどうやって実現できますか? 私は... emacsのために:)
コマンドで切り替え:
mvn archetype:generate -DgroupId=com.mycompany.app -DartifactId=my-cli -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false
私は自分自身のサンプルの開始アプリケーション取得します。 srcフォルダ内には、コマンドラインに「hello World」と書かれたApp.javaファイルがあります。私は自分自身に正常に私のプロジェクト(Mavenのindedependent展開)内のjarファイルを取得するのpom.xmlに以下と
:
<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内でこのjarファイルを使用できますか? .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>
:
は、私が何の大成功がなかったです。コマンドmvn clean install
MANIFEST.MF後
は空のまま。
助けていただければ幸いです。
ありがとうございます!
日食を使用していないため
達成したいことがわからないのですか?どのような瓶を作りたいですか?なぜ、プロジェクトの中に「ジャー」を持っていたいのですか? –
はい。 app.javaファイルの中に私のjarをインポートしたいと思います。そして、クラスを使用してください。あなたがeclipsを使ってライブラリをプロジェクトに追加するのと同じように。 –
Mavenでは、jarをローカルリポジトリにインストールするか、それらをNexus/Artifactoryにデプロイします。次に、それらをpomファイルのとして参照します。このようにしたくない理由はありますか? –