当前位置: 首页 > 知识库问答 >
问题:

使用Maven的java.lang.ClassNotFoundException:org.jsoup.nodes.document

年文柏
2023-03-14

我正在使用maven管理我的项目。

这是我的主文件:

package com.sample;

import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;

/**
 * Hello world!
 *
 */
public class App {
    public static void main(String[] args )
    {
        try
        {

        /*  String html = "<html><head><title>First parse</title></head>"
                      + "<body><p>Parsed HTML into a doc.</p></body></html>";
                    Document doc = Jsoup.parse(html);*/
            Document doc = Jsoup.connect("http://www.javatpoint.com").get();  
            String title = doc.title();  
            System.out.println("title is: " + title);  
        }
        catch (Exception e)
        {
            System.out.println(e);
        }
    }
}

这是我的pom.xml:

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <groupId>com.sample</groupId>
    <artifactId>sample-pc</artifactId>
    <packaging>jar</packaging>
    <version>1.0-SNAPSHOT</version>
    <name>sample-pc</name>
    <url>http://maven.apache.org</url>
    <dependencies>
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>3.8.1</version>
            <scope>test</scope>
        </dependency>

        <dependency>
            <groupId>org.jsoup</groupId>
            <artifactId>jsoup</artifactId>
            <version>1.8.3</version>
                    <scope>compile</scope>

        </dependency>

    </dependencies>

        <build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-jar-plugin</artifactId>
                <configuration>
                    <archive>
                        <manifest>
                            <mainClass>com.sample.App</mainClass>
                        </manifest>
                    </archive>
                </configuration>
            </plugin>
        </plugins>
    </build>
</project>
mvn clean package
java -jar target/sample-pc-1.0-SNAPSHOT.jar 

共有1个答案

潘高洁
2023-03-14

您的JAR在打包后不包括您的依赖项。

将此代码添加到plugins部分下的pom.xml中:

    <plugin>
        <artifactId>maven-assembly-plugin</artifactId>
        <executions>
            <execution>
                <phase>package</phase>
                <goals>
                    <goal>single</goal>
                </goals>
            </execution>
        </executions>
        <configuration>
            <descriptor>assembly.xml</descriptor>
        </configuration>
    </plugin>

并将文件assembly.xml添加到资源目录:

<assembly xmlns="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.3"
          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
          xsi:schemaLocation="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.3 http://maven.apache.org/xsd/assembly-1.1.3.xsd">
    <!-- TODO: a jarjar format would be better -->
    <id>jar-with-dependencies</id>
    <formats>
        <format>jar</format>
    </formats>
    <includeBaseDirectory>false</includeBaseDirectory>
    <dependencySets>
        <dependencySet>
            <outputDirectory>/</outputDirectory>
            <useProjectArtifact>true</useProjectArtifact>
            <unpack>true</unpack>
            <scope>runtime</scope>
        </dependencySet>
    </dependencySets>
</assembly>
 类似资料:
  • 2.1 使用Maven WebMagic基于Maven进行构建,推荐使用Maven来安装WebMagic。在你自己的项目(已有项目或者新建一个)中添加以下坐标即可: <dependency> <groupId>us.codecraft</groupId> <artifactId>webmagic-core</artifactId> <version>0.7.3</versi

  • 当我使用构建Spring Boot应用程序时,它会创建一个名为“target”的文件夹,其中包含构建的输出。 我希望在Linux上隐藏该文件夹(例如使用名称“.target”)。 有没有办法为Maven“目标”文件夹指定一个替代名称?

  • 2.2 不使用Maven 不使用maven的用户,可以去http://webmagic.io中下载最新的jar包。我将所有依赖的jar都打包在了一起,点这里下载。 下载之后进行解压,然后在项目中import即可。 因为WebMagic提倡自己定制,所以项目的源码还是有必要看的。在http://webmagic.io上,你可以下载最新的webmagic-core-{version}-sources.

  • 本文向大家介绍Maven安装及MyEclipse中使用Maven,包括了Maven安装及MyEclipse中使用Maven的使用技巧和注意事项,需要的朋友参考一下 本文主要为大家分享了MyEclipse中安装使用Maven的方法,供大家参考,具体内容如下 Step1:下载mavenhttp://maven.apache.org/download.cgi,下载好后解压到一个路径中 Step2:配置环

  • 我有一个项目,它使用maven-assembly-plugin打包了几个(可执行的jar)程序集--基本上相同的代码,但针对不同的客户机使用了不同的数据集。 我需要在可执行jar中使用spring,由于spring中的文件命名,我需要使用maven-shade-plugin创建jar。这工作很好,我可以创建可执行的jar,但我不能确定如何将我的其他文件组装到这个新的shaded jar,因为sha

  • #mvn原型:generate-dgroupid=com.help.idea-dartifactid=client-darchetypeartifactid=maven-archetype-quickstart-darchetypeversion=1.4-dinteractiveMode=false #mvn安装:install-file-dfile=rs2xml.jar-dgroupid=net