Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/400.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/bash/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 包装罐';使用Google Guava时出现的主类抛出错误_Java_Maven_Guava - Fatal编程技术网

Java 包装罐';使用Google Guava时出现的主类抛出错误

Java 包装罐';使用Google Guava时出现的主类抛出错误,java,maven,guava,Java,Maven,Guava,我创建了一个新项目来设置谷歌番石榴 这是我的POM.xml <dependencies> <!-- https://mvnrepository.com/artifact/com.google.guava/guava --> <dependency> <groupId>com.google.guava</groupId> <artifactId>guava</artifac

我创建了一个新项目来设置谷歌番石榴

这是我的POM.xml

<dependencies>
    <!-- https://mvnrepository.com/artifact/com.google.guava/guava -->
    <dependency>
        <groupId>com.google.guava</groupId>
        <artifactId>guava</artifactId>
        <version>20.0</version>
    </dependency>
</dependencies>
<build>
    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-jar-plugin</artifactId>
            <configuration>
                <archive>
                    <manifest>
                        <mainClass>InetAddressTest</mainClass>
                    </manifest>
                </archive>
            </configuration>
        </plugin>
    </plugins>
</build>
我可以在IDE中运行它

我可以用
mvn包将其打包

当我运行它时,它抛出一个异常
java.lang.NoClassDefFoundError:com/google/common/net/InetAddresses

我试图浏览解决方案。但到目前为止他们还没有成功


我猜测(基于其他问题)我缺少了
Guava
的一些依赖项

看起来
google guava
本身不在类路径中,请尝试将类路径设置为您的
java
命令,如下所示:

java -jar -classpath .:./{path_to_gauva_jar} target/<name>.Jar
java-jar-classpath.:/{path\u to\u gauva\u jar}target/.jar

根据您的操作系统更改分隔符。

看起来像是
google guava
本身不在类路径中,请尝试将类路径设置为
java
命令,如下所示:

java -jar -classpath .:./{path_to_gauva_jar} target/<name>.Jar
java-jar-classpath.:/{path\u to\u gauva\u jar}target/.jar

根据您的操作系统更改分隔符。

您有两个选项:-

1) 在执行Java命令时,使用-cp或-classpath选项列出所有必需的jar文件

2) 通过在pom.xml中使用maven shade插件,将所有依赖项包括在jar中

<plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-shade-plugin</artifactId>
                <version>2.4.2</version>
                <configuration>
                    <finalName>uber-${project.artifactId}-${project.version}</finalName>
                </configuration>
                <executions>
                    <execution>
                        <phase>package</phase>
                        <goals>
                            <goal>shade</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>
        </plugins>

org.apache.maven.plugins
maven阴影插件
2.4.2
uber-${project.artifactId}-${project.version}
包裹
阴凉处

您有两个选择:-

1) 在执行Java命令时,使用-cp或-classpath选项列出所有必需的jar文件

2) 通过在pom.xml中使用maven shade插件,将所有依赖项包括在jar中

<plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-shade-plugin</artifactId>
                <version>2.4.2</version>
                <configuration>
                    <finalName>uber-${project.artifactId}-${project.version}</finalName>
                </configuration>
                <executions>
                    <execution>
                        <phase>package</phase>
                        <goals>
                            <goal>shade</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>
        </plugins>

org.apache.maven.plugins
maven阴影插件
2.4.2
uber-${project.artifactId}-${project.version}
包裹
阴凉处

打包jar时,需要打包依赖项以及部分依赖项。另请参阅。谢谢@OTM,我刚刚这么做了。当你打包jar时,你需要打包依赖项以及它的一部分。请参阅。谢谢@OTM,我刚刚做到了。