我正在启动一个项目,以使用JAVA 8读取和分析JSON文件。要使其在Eclipse中运行,我将其转换为maven项目并添加了此依赖项:
<dependency>
<groupId>org.glassfish</groupId>
<artifactId>javax.json</artifactId>
<version>1.1</version>
<scope>runtime</scope>
</dependency>
在Eclipse中,没有问题,但是当我从命令行运行它时,出现此错误:
未找到提供程序org.glassfish.json.JsonProviderImpl
将来,我想在没有安装Eclipse的服务器上运行它。 我如何使其运行?
答案 0 :(得分:0)
请参阅this question。这将帮助您创建一个包含所有依赖项的jar文件。我不建议重写东西并自由使用库。如果您自己不编写代码,则可以更快地编写代码,并且采用更多的无错误方式。
完成此操作后,您将可以在jar文件上运行java -jar,并且您的应用程序将运行。如果您只想运行该程序,则可以下载jar并将其添加到通过Java命令行传递的classpath变量中。
答案 1 :(得分:0)
非常感谢。遵循以下Maven配置即可在命令行中正常工作:
<plugins>
..
<plugin>
<artifactId>maven-assembly-plugin</artifactId>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>single</goal>
</goals>
</execution>
</executions>
<configuration>
<descriptorRefs>
<descriptorRef>jar-with-dependencies</descriptorRef>
</descriptorRefs>
<archive>
<manifest>
<mainClass>data.Parser</mainClass>
</manifest>
</archive>
</configuration>
</plugin>
</plugins>
</build>
<dependencies>
<dependency>
<groupId>org.glassfish</groupId>
<artifactId>javax.json</artifactId>
<version>1.1</version>
<scope>runtime</scope>
</dependency>
</dependencies>
答案 2 :(得分:-1)
如果您只想使用Gson反序列化。您使用此示例程序
dotnet ef database update
您将需要以下依赖项
import java.io.File;
import java.io.IOException;
import java.util.Map;
import org.apache.commons.io.FileUtils;
import com.google.gson.Gson;
public class Main {
public static void main(String[] args) throws IOException {
String json = FileUtils.readFileToString(new File("PATH_TO_JSON"), "UTF-8");
Gson deserializer = new Gson();
System.out.println(deserializer.fromJson(json, Map.class));
}
}