无法在build jar eclipse中获取scala的外部类文件

时间:2018-04-12 09:23:27

标签: scala eclipse-plugin sbt executable-jar maven-assembly-plugin

我试图从scala spark项目创建一个可运行的jar,它使用redis库。所以,我从Scala-Redis github项目创建了类,并在我现在的代码中使用了这个包。该项目通过eclipse接口构建和运行但是当我尝试创建jar时 - 我收到classNotfound异常。检查时发现redis类没有包含在构建jar中。我也使用其他外部罐子。它们包含在构建中,但不包含在redis中。哪里出错或遗失?

Pom.xml是: -

           <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-assembly-plugin</artifactId>
            <executions>
                <execution>
                    <id>package-jar-with-dependencies</id>
                    <phase>package</phase>
                    <goals>
                        <goal>single</goal>
                    </goals>
                    <configuration>
                        <appendAssemblyId>true</appendAssemblyId>
                        <descriptorRefs>
                            <descriptorRef>jar-with-dependencies</descriptorRef>
                        </descriptorRefs>
                        <archive>
                            <manifest>
                                <mainClass>com.spark.ReCalculateOdo</mainClass>
                            </manifest>
                        </archive>
                    </configuration>
                </execution>
            </executions>
        </plugin>

我在构建路径运行配置中包含了类文件夹。建议,谢谢,

1 个答案:

答案 0 :(得分:0)

我尝试了一个技巧并且有效。我不知道为什么会这样,但它适合我的情况。所以这个想法是每当你想要一个jar只是干净的构建项目然后在eclipse中运行项目现在创建maven安装。你会在项目的目标文件夹中找到一个jar。所以,现在你可以在命令行中使用它了。它会起作用。

谢谢,