【问题标题】:How to Build a package with a mix of .java and .class in it in IntelliJ IDEA?如何在 IntelliJ IDEA 中构建包含 .java 和 .class 的包?
【发布时间】:2020-01-12 23:16:32
【问题描述】:

我找到了一个包,它只包含了 3 个主要的 .java 类中的一部分,其余的已经在 .class 文件中预编译了。 当我尝试编译它时,IntelliJ IDEA 说它找不到定义,尽管它们显然在那里。 我该怎么办?

    ❯ tree
    .
    ├── cryptoman.iml
    ├── pom.xml
    ├── src
    │   └── main
    │       ├── java (marked as sources)
    │       │   └── kanni
    │       │       └── grand
    │       │           ├── Main.java
    │       │           ├── Smthing1.java
    │       │           ├── Smthing2.java
    │       │           ├── ...
    │       │           ├── SendInChanelF.class
    │       │           ├── SendMessage.class
    │       │           ├── dataUsl.class
    │       │           ├── dataVar.class
    │       │           ├── db.class
    │       │           ├── s40data.class
    │       │           └── wAlgo.class
    │       └── resources (marked as resources)
    │           ├── ...
    │           └── ...
    └── target
    7 directories, 27 files

按原样编辑我有 2 个问题。

1) 在 Main.java 类 IDE 中大喊“无法解析符号”,例如 static SendInChanelF si1;.
2)试图编译它说'java:找不到符号'SendInChanelF

好的。搜索了论坛后,我尝试将 .class 文件放在不同的文件夹中并将其标记为依赖项 File -> Project Structure -> modules -> Dependencies -> Add -> JARS or Directory -> Choose the directory

1) 现在在 Main.java 类 IDE 中解析 SendInChanelF。
2) 但是编译器仍然拒绝编译。

试图使缓存/重启无效。没有帮助 =) 为了防止你不喜欢,很遗憾我不能使用源代码。

【问题讨论】:

  • 把你的类文件放在一个罐子里。在您的 Maven 存储库中安装该 jar。像使用 Maven 项目中的任何其他依赖项一样使用它。不过实话说? .class 文件,没有来源,我猜也没有任何文档?我永远不会使用它。
  • 感谢您的回复。无法使用完整的源代码 =( 是否可以在没有 maven 的情况下重用这些类?
  • 嗯,您的构建基于 Maven。所以你最好使用适用于 Maven 的解决方案。
  • 那些编译类中的方法和类是部分私有的。不能重用它们=(所以我只有一个选择可以使用它们,就好像我的类是该库的一部分一样。我错了吗?你能告诉我还有什么其他选择吗?不管它们是传统的还是没有。谢谢!
  • 您得到的编译器错误是什么?可以分享Minimal, Complete, and Verifiable example吗?

标签: java intellij-idea compilation


【解决方案1】:

我通过反编译源解决了它。关闭。谢谢!

【讨论】:

    猜你喜欢
    • 2017-05-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-01-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多