美文网首页
mvn编译时找不到com.sun下的包

mvn编译时找不到com.sun下的包

作者: 东南枝下 | 来源:发表于2021-08-01 21:31 被阅读0次

写了个编译时注解,使用了com.sun.source.tree.Tree和com.sun.tools.javac.*
javac编译时是没有问题啊,但想用maven打成jar包时却报找不到包,就很绝望

[INFO] Scanning for projects...
[INFO]                                                                         
[INFO] ------------------------------------------------------------------------
[INFO] Building jsr269api 1.0-SNAPSHOT
[INFO] ------------------------------------------------------------------------
[INFO] 
[INFO] --- maven-resources-plugin:2.6:resources (default-resources) @ jsr269api ---
[WARNING] Using platform encoding (UTF-8 actually) to copy filtered resources, i.e. build is platform dependent!
[INFO] Copying 0 resource
[INFO] 
[INFO] --- maven-compiler-plugin:3.2:compile (default-compile) @ jsr269api ---
[INFO] Changes detected - recompiling the module!
[WARNING] File encoding has not been set, using platform encoding UTF-8, i.e. build is platform dependent!
[INFO] Compiling 2 source files to /Users/gy/MyCode/自己写着玩的代码/java代码/jsr269api/target/classes
[INFO] -------------------------------------------------------------
[ERROR] COMPILATION ERROR : 
[INFO] -------------------------------------------------------------
[ERROR] /Users/gy/MyCode/自己写着玩的代码/java代码/jsr269api/src/main/java/annotation/MyDataAnnotationProcessor.java:[6,27] 程序包com.sun.source.tree不存在
[ERROR] /Users/gy/MyCode/自己写着玩的代码/java代码/jsr269api/src/main/java/annotation/MyDataAnnotationProcessor.java:[7,31] 程序包com.sun.tools.javac.api不存在
[ERROR] /Users/gy/MyCode/自己写着玩的代码/java代码/jsr269api/src/main/java/annotation/MyDataAnnotationProcessor.java:[8,32] 程序包com.sun.tools.javac.code不存在
[ERROR] /Users/gy/MyCode/自己写着玩的代码/java代码/jsr269api/src/main/java/annotation/MyDataAnnotationProcessor.java:[9,32] 程序包com.sun.tools.javac.code不存在
[ERROR] /Users/gy/MyCode/自己写着玩的代码/java代码/jsr269api/src/main/java/annotation/MyDataAnnotationProcessor.java:[10,38] 程序包com.sun.tools.javac.processing不存在
[ERROR] /Users/gy/MyCode/自己写着玩的代码/java代码/jsr269api/src/main/java/annotation/MyDataAnnotationProcessor.java:[11,32] 程序包com.sun.tools.javac.tree不存在
[ERROR] /Users/gy/MyCode/自己写着玩的代码/java代码/jsr269api/src/main/java/annotation/MyDataAnnotationProcessor.java:[12,32] 程序包com.sun.tools.javac.tree不存在
[ERROR] /Users/gy/MyCode/自己写着玩的代码/java代码/jsr269api/src/main/java/annotation/MyDataAnnotationProcessor.java:[13,32] 程序包com.sun.tools.javac.tree不存在
[ERROR] /Users/gy/MyCode/自己写着玩的代码/java代码/jsr269api/src/main/java/annotation/MyDataAnnotationProcessor.java:[14,1] 程序包com.sun.tools.javac.util不存在
[ERROR] /Users/gy/MyCode/自己写着玩的代码/java代码/jsr269api/src/main/java/annotation/MyDataAnnotationProcessor.java:[30,17] 找不到符号

先后采取了两种网上的办法,但没有效果,这是其中一种
https://www.iteye.com/blog/hzwei206-2366531

后来采取了这种方法https://cloud.tencent.com/developer/ask/191457

手动引入,打包成功
pom.xml

<dependency>
            <groupId>com.sun</groupId>
            <artifactId>tools</artifactId>
            <version>1.7</version>
            <scope>system</scope>
            <systemPath>/Library/Java/JavaVirtualMachines/jdk1.8.0_191.jdk/Contents/Home/lib/tools.jar</systemPath>
        </dependency>

补充另一个问题

打包时报错

ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.1:compile (default-compile) on project jsr269api: Compilation failure
[ERROR] /Users/gy/MyCode/自己写着玩的代码/java代码/jsr269api/src/main/java/annotation/MyDataAnnotationProcessor.java:[63,68] -source 1.5 中不支持 lambda 表达式
[ERROR] (请使用 -source 8 或更高版本以启用 lambda 表达式)

解决方式,指定版本
pom.xml

<plugins>
    <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-compiler-plugin</artifactId>
        <version>3.2</version>
        <configuration>
            <source>1.8</source>
            <target>1.8</target>
        </configuration>
    </plugin>
</plugins>

相关文章

  • mvn编译时找不到com.sun下的包

    写了个编译时注解,使用了com.sun.source.tree.Tree和com.sun.tools.javac....

  • idea mvn 编译方式

    背景 在idea终端使用命令行编译时,出现了两个问题。1)提示mvn指令不存在2)使用指令编译时,提示依赖包找不到...

  • mvn启动springboot的方式

    直接运行 mvn编译生成jar包后运行

  • spring-boot项目打包

    1. 引入插件 2. 编译项目使用命令编译mvn compile 如果没有先编译的话,会找不到启动类no main...

  • maven常用命令介绍

    打包:mvn package编译:mvn compile清空:mvn clean(清除编译后目录,默认是targe...

  • 程序包console不存在

    编译时找不见tio包,求助高手!!! 用上键盘输入时函数时,编译提示找不到tio包,用记事本和exclipse编写...

  • 基于JAVA的葫芦娃游戏

    使用说明 使用mvn clean test package编译,生成的jar包为./target/HuLuBatt...

  • Maven常用命令

    开发中常用命令 mvn compile 编译源代码 mvn test-compile 编译测试代码 mvn tes...

  • mvn 管理多项目时编译子项目

    问题描述 mvn管理多项目时,在父目录执行 mvn命令,会编译、打包全部项目 解决思路 指定项目路径,执行 mvn...

  • Maven入门

    Maven入门 mvn的常用指令 mvn -v:查看maven版本 mvn -compile:编译 mvn -te...

网友评论

      本文标题:mvn编译时找不到com.sun下的包

      本文链接:https://www.haomeiwen.com/subject/tamrvltx.html