นี่ยังเป็นปัญหาในปี 2560 ฉันหวังว่ามันจะช่วยให้ใครบางคนที่นั่น! ฉันพบความเป็นไปได้ 2 อย่างในการสร้าง jar-s ที่ใช้งานได้ภายใต้ IntelliJ 2017.2
1. การสร้างสิ่งประดิษฐ์จาก IntelliJ:


- เลือกคลาสหลักและตรวจสอบให้แน่ใจว่าได้เปลี่ยนโฟลเดอร์รายการ:

คุณต้องเปลี่ยนไดเรกทอรีรายการ:
<project folder>\src\main\java
แทนที่ "java" ด้วย "ทรัพยากร"
<project folder>\src\main\resources
นี่คือลักษณะที่ควรจะเป็น:

จากนั้นคุณเลือกการพึ่งพาสิ่งที่คุณต้องการจะบรรจุในขวดของคุณหรือใกล้เคียงกับไฟล์ jar ของคุณ
ในการสร้างสิ่งประดิษฐ์ของคุณไปที่การสร้างสิ่งประดิษฐ์และเลือก "สร้างใหม่" มันจะสร้างโฟลเดอร์ "ออก" ด้วยไฟล์ jar ของคุณและการอ้างอิง

2. ใช้ maven-assembly-plugin
เพิ่มส่วนบิลด์ลงในไฟล์ pom
<build>
<plugins>
<plugin>
<artifactId>maven-assembly-plugin</artifactId>
<configuration>
<finalName>ServiceCreate</finalName>
<appendAssemblyId>false</appendAssemblyId>
<archive>
<manifest>
<mainClass>com.svt.optimoo.App</mainClass>
</manifest>
</archive>
<descriptorRefs>
<descriptorRef>jar-with-dependencies</descriptorRef>
</descriptorRefs>
</configuration>
</plugin>
<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>
- สร้างการกำหนดค่า run / debug ใหม่:


- กรอกแบบฟอร์ม
- เพิ่มเป้าหมาย maven "แอสเซมบลี: เดี่ยว" หลังจากบิลด์ที่จะดำเนินการครั้งสุดท้าย



ขั้นตอนนี้จะสร้างไฟล์ jar ภายใต้โฟลเดอร์ "ปลายทาง"
