itext java.lang.NoClassDefFoundError:DefaultAccessibilityProperties

itext java.lang.NoClassDefFoundError:DefaultAccessibilityProperties,itext,itext7,Itext,Itext7,我不明白为什么在iText的这个非常基本的测试中会出现异常: package com.itextpdf.testpdf4; import com.itextpdf.io.font.FontConstants; import com.itextpdf.kernel.font.PdfFont; import com.itextpdf.kernel.font.PdfFontFactory; import com.itextpdf.kernel.pdf.PdfDocument; import com.i

我不明白为什么在iText的这个非常基本的测试中会出现异常:

package com.itextpdf.testpdf4;
import com.itextpdf.io.font.FontConstants;
import com.itextpdf.kernel.font.PdfFont;
import com.itextpdf.kernel.font.PdfFontFactory;
import com.itextpdf.kernel.pdf.PdfDocument;
import com.itextpdf.kernel.pdf.PdfWriter;
import com.itextpdf.layout.Document;
import com.itextpdf.layout.element.List;
import com.itextpdf.layout.element.ListItem;
import com.itextpdf.layout.element.Paragraph;

import com.itextpdf.text.DocumentException;
import com.itextpdf.licensekey.LicenseKey;
import com.itextpdf.test.annotations.WrapToTest;

import java.io.File;
import java.io.IOException;

@WrapToTest
public class HelloWorld {


    public static final String DEST = "result/hello.pdf";

    public static void main(String[] args)
        throws DocumentException, IOException {

        LicenseKey.loadLicenseFile("C:\\dev\\testPDF4\\src\\main\\java\\com\\itextpdf\\testpdf4\\itextkey1544447451310_0.xml");

        File file = new File(DEST);
        file.getParentFile().mkdirs();
        new HelloWorld().createPdf(DEST);

    }




    public void createPdf(String dest) throws DocumentException, IOException {
        PdfWriter writer = new PdfWriter(dest);

        //Initialize PDF document
        PdfDocument pdf = new PdfDocument(writer);

        // Initialize document
        Document document = new Document(pdf);

 // Create a PdfFont
        PdfFont font = PdfFontFactory.createFont(FontConstants.TIMES_ROMAN);
        // Add a Paragraph
        document.add(new Paragraph("iText is:").setFont(font));
        // Create a List
        List list = new List()
            .setSymbolIndent(12)
            .setListSymbol("\u2022")
            .setFont(font);
        // Add ListItem objects
        list.add(new ListItem("Never gonna give you up"))
            .add(new ListItem("Never gonna let you down"))
            .add(new ListItem("Never gonna run around and desert you"))
            .add(new ListItem("Never gonna make you cry"))
            .add(new ListItem("Never gonna say goodbye"))
            .add(new ListItem("Never gonna tell a lie and hurt you"));
        // Add the list
        document.add(list);

        //Close document
        document.close();
    }
}
线程“main”java.lang.NoClassDefFoundError中出现异常: com/itextpdf/kernel/pdf/tagutils/DefaultAccessibilityProperties位于 com.itextpdf.testpdf4.HelloWorld.createPdf(HelloWorld.java:56)

(第56行是:document.add(新段落(“iText是:”).setFont(font));)

此代码来自这里:->C01E02\u RickAstley.java

在POM.XML中:

  <modelVersion>4.0.0</modelVersion>
    <groupId>com.itextpdf</groupId>
    <artifactId>testPDF4</artifactId>
    <version>1.0</version>
4.0.0
com.itextpdf
testPDF4
1
(软件包为:package com.itextpdf.testpdf4;)

以下是完整的POM.XML:

<?xml version="1.0" encoding="UTF-8"?>
<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/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <groupId>com.itextpdf</groupId>
    <artifactId>testPDF4</artifactId>
    <version>1.0</version>


    <properties>
        <itext.version>7.1.4</itext.version>
        <java.version>1.8</java.version>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
        <junit.version>4.12</junit.version>
    </properties>

    <repositories>
        <repository>
            <id>itext</id>
            <name>iText Repository - releases</name>
            <url>https://repo.itextsupport.com/releases</url>
        </repository>
    </repositories>


    <dependencies>
        <dependency>
            <groupId>com.itextpdf</groupId>
            <artifactId>kernel</artifactId>
            <version>7.0.4</version>
        </dependency>
        <dependency>
            <groupId>com.itextpdf</groupId>
            <artifactId>io</artifactId>
            <version>7.0.4</version>
        </dependency>
        <dependency>
            <groupId>com.itextpdf</groupId>
            <artifactId>layout</artifactId>
            <version>7.1.4</version>
            <type>jar</type>
        </dependency>
        <dependency>
            <groupId>com.itextpdf</groupId>
            <artifactId>forms</artifactId>
            <version>7.0.4</version>
        </dependency>
        <dependency>
            <groupId>com.itextpdf</groupId>
            <artifactId>pdfa</artifactId>
            <version>7.0.4</version>
        </dependency>
        <dependency>
            <groupId>com.itextpdf</groupId>
            <artifactId>pdftest</artifactId>
            <version>7.0.4</version>
        </dependency>
        <dependency>
            <groupId>org.slf4j</groupId>
            <artifactId>slf4j-log4j12</artifactId>
            <version>1.7.18</version>
        </dependency>

        <dependency>
            <groupId>com.itextpdf</groupId>
            <artifactId>itext-licensekey</artifactId>
            <version>2.0.1</version>
        </dependency>
        <dependency>
            <groupId>com.itextpdf</groupId>
            <artifactId>itextpdf</artifactId>
            <version>5.5.13</version>
            <type>jar</type>
        </dependency>

        <dependency>
            <groupId>org.apache.commons</groupId>
            <artifactId>commons-sandbox-parent</artifactId>
            <version>2</version>
            <type>pom</type>
        </dependency>

    </dependencies>


       <build>
        <resources>
            <resource>
                <directory>src/main/resources</directory>
                <excludes>
                    <exclude>**/*.p12</exclude>
                </excludes>
            </resource>
        </resources>

        <plugins>
            <plugin>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>3.6.0</version>
                <configuration>
                    <source>${java.version}</source>
                    <target>${java.version}</target>
                </configuration>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-javadoc-plugin</artifactId>
                <version>2.10.4</version>
                <configuration>
                    <excludePackageNames>com.itextpdf.xml</excludePackageNames>
                </configuration>
                <executions>
                    <execution>
                        <id>attach-javadocs</id>
                        <phase>package</phase>
                        <goals>
                            <goal>jar</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>
            <plugin>
                <groupId>external.atlassian.jgitflow</groupId>
                <artifactId>jgitflow-maven-plugin</artifactId>
                <version>1.0-m5.1</version>
                <configuration>
                    <!-- see goals wiki page for configuration options -->
                    <flowInitContext>
                        <masterBranchName>master</masterBranchName>
                        <developBranchName>develop</developBranchName>
                        <featureBranchPrefix>feature/</featureBranchPrefix>
                        <releaseBranchPrefix>release/</releaseBranchPrefix>
                        <hotfixBranchPrefix>hotfix/</hotfixBranchPrefix>
                        <versionTagPrefix />
                    </flowInitContext>
                    <allowUntracked>true</allowUntracked>
                    <autoVersionSubmodules>true</autoVersionSubmodules>
                    <updateDependencies>true</updateDependencies>
                </configuration>
            </plugin>
        </plugins>
    </build>

    <profiles>
        <profile>
            <id>public</id>
            <activation>
                <activeByDefault>true</activeByDefault>
            </activation>
            <build>
                <plugins>
                    <plugin>
                        <groupId>org.apache.maven.plugins</groupId>
                        <artifactId>maven-jar-plugin</artifactId>
                        <version>3.0.2</version>
                        <configuration>
                            <excludes>
                                <exclude>com/itextpdf/xml/**</exclude>
                                <exclude>**/*.p12</exclude>
                            </excludes>
                        </configuration>
                    </plugin>
                </plugins>
            </build>
        </profile>
        <profile>
            <id>internal</id>
            <build>
                <plugins>
                    <plugin>
                        <groupId>org.apache.maven.plugins</groupId>
                        <artifactId>maven-jar-plugin</artifactId>
                        <version>3.0.2</version>
                        <configuration>
                            <excludes>
                                <exclude>**/*.p12</exclude>
                            </excludes>
                            <classifier>INTERNAL</classifier>
                        </configuration>
                    </plugin>
                </plugins>
            </build>
        </profile>
    </profiles>
</project>

4.0.0
com.itextpdf
testPDF4
1
7.1.4
1.8
UTF-8
UTF-8
4.12
文字
iText存储库-发布
https://repo.itextsupport.com/releases
com.itextpdf
内核
7.0.4
com.itextpdf
木卫一
7.0.4
com.itextpdf
布局
7.1.4
罐子
com.itextpdf
形式
7.0.4
com.itextpdf
pdfa
7.0.4
com.itextpdf
pdftest
7.0.4
org.slf4j
slf4j-log4j12
1.7.18
com.itextpdf
itext licensekey
2.0.1
com.itextpdf
itextpdf
5.5.13
罐子
org.apache.commons
commons沙盒父级
2.
聚甲醛
src/main/resources
**/*.p12
maven编译器插件
3.6.0
${java.version}
${java.version}
org.apache.maven.plugins
maven javadoc插件
2.10.4
com.itextpdf.xml
附加javadocs
包裹
罐子
external.atlassian.jgitflow
JgitFlowMaven插件
1.0-m5.1
主人
发展
特征/
释放/
修补程序/
符合事实的
符合事实的
符合事实的
平民的
符合事实的
org.apache.maven.plugins
maven jar插件
3.0.2
com/itextpdf/xml/**
**/*.p12
内部的
org.apache.maven.plugins
maven jar插件
3.0.2
**/*.p12
内部的
有人看到什么不对劲吗?我不知道


谢谢你混合了不同的核心itext工件版本,7.0.4和7.1.4

    ...
    <dependency>
        <groupId>com.itextpdf</groupId>
        <artifactId>io</artifactId>
        <version>7.0.4</version>
    </dependency>
    <dependency>
        <groupId>com.itextpdf</groupId>
        <artifactId>layout</artifactId>
        <version>7.1.4</version>
        <type>jar</type>
    </dependency>
    ...
。。。
com.itextpdf
木卫一
7.0.4
com.itextpdf
布局
7.1.4
罐子
...
不要把这些混在一起。使用相同版本的所有核心itext工件

顺便说一下,您将测试项目放入itext组:

<groupId>com.itextpdf</groupId>
<artifactId>testPDF4</artifactId>
com.itextpdf
testPDF4
您不应该这样做,尤其是在生产使用项目中

非常感谢mkl;
错误的组IP、错误的版本和错误的nbaction.xml

编译正常;但是线程“main”java.lang.NoClassDefFoundError:com/itextpdf/kernel/pdf/tagutils/DefaultAccessibilityProperties在com.itextpdf.testpdf4.HelloWorld.createPdf(HelloWorld.java:56)在com.itextpdf.testpdf4.HelloWorld.main(HelloWorld.java:37)中执行失败原因:java.lang.ClassNotFoundException:com.itextpdf.kernel.pdf.tagutils.DefaultAccessibilityProperties位于java.net.URLClassLoader.findClass(URLClassLoader.java:381)您混合了不同的itext工件版本,7.0.4和7.1.4:谢谢^^我还添加了一个“nbactions.xml”和这些不好的值如果这解决了您的问题,请接受答案(单击左上角、投票箭头右下方的勾号和计票)。