記錄一次困擾良久的問題
編譯之後運行 無論如何也無法找到主類入口。
死活認不出來,我這個是maven編譯的編譯標籤方法如下
<build>
<plugins>
<plugin>
<artifactId>maven-assembly-plugin</artifactId>
<configuration>
<archive>
<manifest>
<addClasspath>true</addClasspath>
<!--下面必須指定好主類 如com.my.Main -->
<mainClass>spark.bim.SparkTest</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>8</source>
<target>8</target>
</configuration>
</plugin>
<plugins>
<build>
狗屎一樣難用的idea執行了mvn assembly:assembly後就是spark報錯無法找到我定義的類。然後各種百度+谷歌搜了衆多解決方案,嘗試無果。
發現idea生成路徑沒有class文件,推測idea默認不編譯scala語言
心中一萬匹草泥馬
解決方案如下
<build>
<plugins>
<plugin>
<artifactId>maven-assembly-plugin</artifactId>
<configuration>
<archive>
<manifest>
<addClasspath>true</addClasspath>
<!--下面必須指定好主類 如com.my.Main -->
<mainClass>spark.bim.SparkTest</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>8</source>
<target>8</target>
</configuration>
</plugin>
<plugin>
<groupId>net.alchim31.maven</groupId>
<artifactId>scala-maven-plugin</artifactId>
<version>3.2.1</version>
<executions>
<execution>
<id>scala-compile-first</id>
<phase>process-resources</phase>
<goals>
<goal>add-source</goal>
<goal>compile</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
果真是狗屎一樣的idea,我都寫了代碼建了類添加到工程項目路徑,憑啥你默認不給我編譯,你這默認也太奇葩了吧,簡直可以說是愚蠢。
從此idea一生黑,vs吹爆天。
就衝vs人性化的引導方式和智能提示以及一些默認約定合理性,足夠吹爆天。
vs宇宙第一IDE,這次idea着實把我搞炸了,這一個問題困擾我好幾天。IDE是給人提供方便不是衝着精簡經量化就好的,許多人吹vs臃腫佔地方,你是真沒的黑了吧,vs個性化安裝你不理全給勾上是大,再說了輕量化這個屬性從來都不是工具的好壞衡量標準。(我給你一把泡沫錘子你去砸個釘子,試試,輕量化?呵呵)