对于 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
关于java - 编译单个 Java 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57207201/