【问题标题】:IText Error "The type com.itextpdf.XXX is not accessible"IText 错误\"类型 com.itextpdf.XXX 不可访问\"
【发布时间】:2022-11-23 17:03:08
【问题描述】:

我有这个问题 2 天,我做了所有可能的研究。

import com.itextpdf.io.font.constants.StandardFonts;
import com.itextpdf.kernel.font.PdfFont;
import com.itextpdf.kernel.font.PdfFontFactory;
import com.itextpdf.kernel.pdf.PdfDocument;
import com.itextpdf.kernel.pdf.PdfReader;
import com.itextpdf.kernel.pdf.PdfWriter;
import com.itextpdf.kernel.pdf.canvas.parser.PdfTextExtractor;
import com.itextpdf.layout.Document;
import com.itextpdf.layout.element.Paragraph;
import com.itextpdf.layout.properties.TextAlignment;

所有导入都带有错误“类型 com.itextpdf.XXX 不可访问”。

我按照 maven 的安装教程进行操作,这是我的 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 https://maven.apache.org/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <groupId>pdf_dem</groupId>
  <artifactId>pdf_dem</artifactId>
  <version>0.0.1-SNAPSHOT</version>
  <build>
    <sourceDirectory>src</sourceDirectory>
    <plugins>
      <plugin>
        <artifactId>maven-compiler-plugin</artifactId>
        <version>3.8.1</version>
        <configuration>
          <release>18</release>
        </configuration>
      </plugin>
    </plugins>
  </build>
  
  <properties>
   <itext.version>7.2.4</itext.version>
</properties>
<dependencies>
    <!-- add all iText 7 modules -->
    <dependency>
        <groupId>com.itextpdf</groupId>
        <artifactId>itext7-core</artifactId>
        <version>${itext.version}</version>
        <type>pom</type>
    </dependency>
</dependencies>

</project>

感谢您的宝贵帮助 :)

我按照 Itext 指南 [https://kb.itextpdf.com/home/it7kb/installation-guidelines/installing-itext-7-for-java] 中的说明修改了 pom.xml

【问题讨论】:

  • 你能解释一下为什么你配置了:&lt;sourceDirectory&gt;src&lt;/sourceDirectory&gt;???我强烈建议坚持目录的约定:src/main/java/&lt;package&gt; 中的 Java 源代码src/test/java/&lt;package&gt;/XYTest.java 中的单元测试和src/main/resources/... 中的代码资源以及仅用于测试的src/test/resources...
  • module-info.java 是什么样子的?

标签: java maven itext maven-plugin itext7


【解决方案1】:

pom.xml 和大概的 java 文件看起来不错。 我刚刚创建了一个项目来重现您的问题,但在mvn package(java 文件位于src/itext/Main.java)时是不可能的。

package itext;
import com.itextpdf.kernel.font.PdfFontFactory;
public class Main {
    public static void main(String[] args) {
        PdfFontFactory pdfFontFactory = new PdfFontFactory();
        System.out.printf("Factory: %s%n", pdfFontFactory);
    }
}

输出:

Factory: com.itextpdf.kernel.font.PdfFontFactory@3d075dc0

Process finished with exit code 0

也许你应该留意你的 jdk 版本,maven 版本。

还要检查 maven (settings.xml) 中是否有特殊设置,如果一切正常,请检查 mvn package -X 的输出。

试试你是否至少可以让它在你的 IDE 中工作/ Maven 支持。

【讨论】:

    猜你喜欢
    • 2021-01-22
    • 1970-01-01
    • 1970-01-01
    • 2019-02-14
    • 2023-03-15
    • 1970-01-01
    • 1970-01-01
    • 2014-07-25
    • 2020-05-04
    相关资源
    最近更新 更多