spark任务scala的jar包无法找到主类

记录一次困扰良久的问题

编译之后运行 无论如何也无法找到主类入口。

死活认不出来,我这个是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个性化安装你不理全给勾上是大,再说了轻量化这个属性从来都不是工具的好坏衡量标准。(我给你一把泡沫锤子你去砸个钉子,试试,轻量化?呵呵)

你可能感兴趣的:(C++生涯,scala,spark,无法定位程序入口,无法找到主类)