2016-10-26 14 views
0

mavenのハングアップを取得するには ダウンロードしたコモンズ・クリスです。 コンパイルされていないApache cliヘルパーです。さまざまな方法でMavenを使って原型を保存する

新しいmavenプロジェクトを作成し、コンパイルされていないすべてのコードをその中に残しました。

mvn archetype:generate -DarchetypeArtifactId=maven-archetype- 
    quickstart -DinteractiveMode=false 

作成この:そうのよう

commons-cli/ 
    src/ 
    main/ 
     java/ 
     cli/ 
      *.java <- all the java code. 

は今すぐ実行します。

mvn archetype:create-from-project 

これが作成されます。こののpom.xmlで

 generated-sources/ 
     archetype/ 
      src/ 
      main/ 
      test/ 
      target/ 
      pom.xml 

を:

<groupId>com.company.app</groupId> 
    <artifactId>test-archetype</artifactId> 
    <version>1.0-SNAPSHOT</version> 
    <packaging>maven-archetype</packaging> 

    <name>test-archetype</name> 

今:

cd target/generated-sources/archetype/ 

mvn clean install 

今、私は私の.m2 /フォルダ内のjarファイルをHAVAと私はdependecyとして使用することはできません。 コードが解凍されています。

私quistionは次のとおりです。

私はコンパイルされ、使用可能なコードでの.jar(.classファイル)は私の地元のレポに追加することができどのように? Javaコードなしで使用してください。

私のレポに追加するjavaコードはどうすればいいですか maven-archetype-quickstartと同じですか?

ありがとうございます。

答えて

0

あなたの質問は何とか混乱ですが、私は最高の私ができるように、それに答えるようにしてみてください。

のアーキタイプがプロジェクトのための青写真です:あなたは彼らが新しいプロジェクトを作成するために使用していますが、内部の多くのソースコードを入れていませんそれら。

コンパイル済みのjarを作成するには、mvn clean installを呼び出します。コンパイルされたクラスを持つjarをローカルリポジトリに書き込みます。このようなjarファイルを作成する場合は、 "sources"と "javadoc"にサイドアーチファクトを追加できます。これらはローカルリポジトリにも置かれます。

+0

ありがとうございました。実際に私は2つの質問をしていました。 1. Javaコードをコンパイルしてblueprinstを保存するにはどうすればよいですか?まさにMaven-archetype-quickstartのように。したがって、jarファイルと.classファイルはありません。ただの青写真。 2.コンパイルされた* .classファイルをjarファイルに格納するにはどうすればよいですか?ちょうど私がそれを依存として使うことができるように。あなたは私に1&2を実行するために熱い例を与えることができますか?前もって感謝します! –

+0

1. https://maven.apache.org/guides/mini/guide-creating-archetypes.htmlをご覧ください。しかし、原型にソースコードを保存したいというのは私にとっては奇妙なことです。これは不必要なコードの複製によく似ています。 2. pomのディレクトリにmvn clean installを呼び出してください。 –

+0

Mavenリポジトリにソースコードがありませんか?方法:mvn archetype:generate -DgroupId = com.mkyong.core.utils -DartifactId = dateUtils -DarchetypeArtifactId = Maven-archetype-quickstart -DinteractiveMode = false ?maven-archetype-quickstart?これは「初心者」を保存する便利な方法です。ではない?私はこれがアイデアだと思った。また、依存関係管理もあります。 –

0

私は思ったよりも簡単でした。 上記の例の代わりに。 私はで始まりました

mvn archetype:generate 
    -DgroupId=[your project's group id] 
    -DartifactId=[your project's artifact id] 
    -DarchetypeArtifactId=maven-archetype-archetype 

ファイルにコードを入れてください。

次にきれいなものなど

mvn clean install 

をし、包装

src/main/resources/META-INF/maven/archetype.xml 

コンパイルされたコードに変更します:とコンパイル

<?xml version="1.0" encoding="UTF-8"?> 
<archetype-descriptor xsi:schemaLocation="http://maven.apache.org 
/plugins/maven-archetype-plugin/archetype-descriptor/1.0.0 
http://maven.apache.org/xsd/archetype-descriptor-1.0.0.xsd" 
name="commons-cli" 
xmlns="http://maven.apache.org/plugins/maven-archetype-plugin 
/archetype-descriptor/1.0.0" 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> 
<fileSets> 
<fileSet filtered="true" packaged="true" encoding="UTF-8"> 
    <directory>org/apache/commons/cli</directory> 
    <includes> 
    <include>**/*.class</include> 
    <!-- 
<include>**/*.html</include> 
--> 
    </includes> 
</fileSet> 
<!-- 
<fileSet filtered="true" packaged="true" encoding="UTF-8"> 
    <directory>src/test/java</directory> 
    <includes> 
    <include>**/*.java</include> 
    </includes> 
</fileSet> 
--> 

単にコード:

<archetype xmlns="http://maven.apache.org/plugins/maven-archetype- 
plugin/archetype/1.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema- 
instance" 
    xsi:schemaLocation="http://maven.apache.org/plugins/maven-archetype- 
plugin/archetype/1.0.0 http://maven.apache.org/xsd/archetype- 
1.0.0.xsd"> 
    <id>quickstart</id> 
    <sources> 
    <source>src/main/java/*.java</source> 
    </sources> 
    <testSources> 
    <source>src/test/java/*.java</source> 
    </testSources> 
</archetype> 

コードおよびパッケージ:

<?xml version="1.0" encoding="UTF-8"?> 
<archetype-descriptor xsi:schemaLocation="http://maven.apache.org 
/plugins/maven-archetype-plugin/archetype-descriptor/1.0.0 
http://maven.apache.org/xsd/archetype-descriptor-1.0.0.xsd" 
name="commons-cli" 
xmlns="http://maven.apache.org/plugins/maven-archetype-plugin 
/archetype-descriptor/1.0.0" 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> 
<fileSets> 
<fileSet filtered="true" packaged="true" encoding="UTF-8"> 
    <directory>src/main/java</directory> 
    <includes> 
    <include>**/*.java</include> 
    <include>**/*.html</include> 
    </includes> 
</fileSet> 
<fileSet filtered="true" packaged="true" encoding="UTF-8"> 
    <directory>src/test/java</directory> 
    <includes> 
    <include>**/*.java</include> 
    </includes> 
</fileSet> 

それは私がまだそれをテストしていない... archetype.xmlに ちょうどこの構成です。しかし、これはトリックを行う必要があります。私は願っています:) ありがとうございましたJFマイヤー。

関連する問題