java - 编译单个 Java 文件
问题描述
对 Java 来说相对较新 - 我只是更新 JAR 文件中的一个文件。我已经反编译了 JAR,并且可以访问 Java 文件。
我正在尝试使用 javac,但是当我使用它时,它会引发错误,因为它没有对各种依赖项的引用。
我需要编译所有东西来摆脱这些吗?有没有一种简单的方法来编译一个文件?
javac MessageNotificationService.java
...
MessageNotificationService.java:108: error: cannot find symbol
List<EmailNotification> pendingEmails = this.messageDao.findPendingNotification("merchant", "new_message");
^
symbol: class EmailNotification
location: class MessageNotificationService
MessageNotificationService.java:111: error: cannot find symbol
List<Long> ids = pendingEmails.stream().map(EmailNotification::getId).collect(Collectors.toList());
^
symbol: variable EmailNotification
location: class MessageNotificationService
MessageNotificationService.java:182: error: cannot find symbol
for (EmailNotification notification : pendingEmails) {
^
symbol: class EmailNotification
location: class MessageNotificationService
39 errors
抱歉,如果这是一个基本问题 - 所有关于此的搜索结果似乎都是针对没有此类错误的独立文件。
解决方案
据我所知,您只需指向旧的 JAR 文件
javac -cp "./old-jar-file-1.0.0.jar" ./location-of-file/MessageNotificationService.java
推荐阅读
- mongodb - Grails MongoDB 插件:v:2 索引键模式中的值不能是 bool 类型
- docker - 将 Dockerfile 指定为管道作业容器
- python - Python tkinter 按钮在 -while 循环条件下不起作用
- python - 使用lmfit python将模型函数参数定义为自变量的函数
- google-cloud-platform - 将数据从变量插入 BQ 表时动态处理 Bigquery 表模式
- oracle - 在 sqlplus 中假脱机时截断行和列
- react-native - 我无法回答原生 iOS 确认 Detox - React native 中的 mocha 应用
- git - git pull 删除了我本地更改的文件而没有冲突
- java - 如何使用java在控制台中打印彩色的xml文件
- html - css:输入按钮标签后面的匹配元素