DGT:
私はGithubのリポジトリ、コンパイルしようとしているhttps://github.com/GrammarViz2/grammarviz2_srcを。私はCMD上でアプリケーションを実行するときしかし、私は、エラー-を得ます
GrammarVizGUI.java:4: error: package net.seninp.grammarviz.controller does not exist
import net.seninp.grammarviz.controller.GrammarVizController;
^
GrammarVizGUI.java:5: error: package net.seninp.grammarviz.model does not exist
import net.seninp.grammarviz.model.GrammarVizModel;
^
GrammarVizGUI.java:6: error: package net.seninp.grammarviz.view does not exist
import net.seninp.grammarviz.view.GrammarVizView;
^
GrammarVizGUI.java:17: error: cannot find symbol
private static GrammarVizModel model;
^
symbol: class GrammarVizModel
location: class GrammarVizGUI
GrammarVizGUI.java:20: error: cannot find symbol
private static GrammarVizController controller;
^
symbol: class GrammarVizController
location: class GrammarVizGUI
GrammarVizGUI.java:23: error: cannot find symbol
private static GrammarVizView view;
^
symbol: class GrammarVizView
location: class GrammarVizGUI
GrammarVizGUI.java:48: error: cannot find symbol
model = new GrammarVizModel();
^
symbol: class GrammarVizModel
location: class GrammarVizGUI
GrammarVizGUI.java:51: error: cannot find symbol
controller = new GrammarVizController(model);
^
symbol: class GrammarVizController
location: class GrammarVizGUI
GrammarVizGUI.java:54: error: cannot find symbol
view = new GrammarVizView(controller);
^
symbol: class GrammarVizView
location: class GrammarVizGUI
9 errors
しかし、綿密に検討の上、私はパッケージの多くは、複数のフォルダ内で、ソースの中に存在していることがわかります。私はJavaコードを実行すると、ほぼゼロの経験を持っている、それゆえ私は、私はいくつかの愚かなエラーを作ることにしなければならないと考えています。
zolv:
いくつかのものがあります不足している、のは、それはステップバイステップでやってみましょう:
ジャープラグインの設定が不足している(アセンブリプラグインの構成が提供するのに十分ではありませんMain-Class
でMANIFEST.MF
このプラグインの設定を追加します。 profile
single
...
<profile>
<id>single</id>
<build>
<plugins>
<plugin>
<artifactId>maven-assembly-plugin</artifactId>
<version>2.5.4</version>
<configuration>
<descriptorRefs>
<descriptorRef>jar-with-dependencies</descriptorRef>
</descriptorRefs>
<archive>
<manifest>
<mainClass>net.seninp.grammarviz.GrammarVizGUI</mainClass>
</manifest>
</archive>
<!-- <filters> <filter>src/assembly/filter.properties</filter> </filters>
<descriptors> <descriptor>src/assembly/distribution.xml</descriptor> </descriptors> -->
</configuration>
<executions>
<execution>
<id>make-assembly</id> <!-- this is used for inheritance merges -->
<phase>package</phase> <!-- bind to the packaging phase -->
<goals>
<goal>single</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<configuration>
<descriptorRefs>
<descriptorRef>jar-with-dependencies</descriptorRef>
</descriptorRefs>
<archive>
<manifest>
<mainClass>net.seninp.grammarviz.GrammarVizGUI</mainClass>
</manifest>
</archive>
<!-- <filters> <filter>src/assembly/filter.properties</filter> </filters>
<descriptors> <descriptor>src/assembly/distribution.xml</descriptor> </descriptors> -->
</configuration>
</plugin>
</plugins>
</build>
</profile>
...
そして、あなたは、ビルド時にこのプロファイルを使用する必要があります。
mvn -Psingle clean package
...
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 18.949 s
[INFO] Finished at: 2019-03-21T21:30:25+01:00
[INFO] Final Memory: 28M/435M
[INFO] ------------------------------------------------------------------------
これは、2つの作成jar
中のファイルtarget
のディレクトリを:
grammarviz2-0.0.1-SNAPSHOT.jar
grammarviz2-0.0.1-SNAPSHOT-jar-with-dependencies.jar
そして、あなたは(からアプリケーションを実行する必要があるtarget
ディレクトリ):
java -jar grammarviz2-0.0.1-SNAPSHOT-jar-with-dependencies.jar
これはjar
含まれていMANIFEST.MF
たファイル(/META-INF/MANIFEST.MF
で上記のように構成された)pom.xml
これを実行するための適切なエントリにjar
メインクラスを設けることなく、アプリケーションのように。
「私のマシン上で動作」:
java version "1.8.0_201"
Java(TM) SE Runtime Environment (build 1.8.0_201-b09)
Java HotSpot(TM) 64-Bit Server VM (build 25.201-b09, mixed mode)
Linux Mint 18.3