【问题标题】:Cloning GitHub repo into IntelliJ IDEA java classes将 GitHub 存储库克隆到 IntelliJ IDEA java 类中
【发布时间】:2015-08-26 23:35:45
【问题描述】:

我在两台不同的笔记本电脑上工作,自然而然地使用 GitHub VCS 在机器之间链接我的工作。我最近启动了一个 Java 项目,其中.class 文件保存在src/ 目录中。

每当我将远程 repo 克隆到我的第二台机器上时,都不会运行任何类。我已分配和设置了正确的 SDK/JDK。

这是错误信息:

/usr/lib/jvm/java-7-oracle/bin/java -Didea.launcher.port=7532 -Didea.launcher.bin.path=/home/me/idea-IC-141.1532.4/bin -Dfile.encoding=UTF-8 -classpath /usr/lib/jvm/java-7-oracle/jre/lib/resources.jar:/usr/lib/jvm/java-7-oracle/jre/lib/management-agent.jar:/usr/lib/jvm/java-7-oracle/jre/lib/deploy.jar:/usr/lib/jvm/java-7-oracle/jre/lib/charsets.jar:/usr/lib/jvm/java-7-oracle/jre/lib/rt.jar:/usr/lib/jvm/java-7-oracle/jre/lib/jce.jar:/usr/lib/jvm/java-7-oracle/jre/lib/jsse.jar:/usr/lib/jvm/java-7-oracle/jre/lib/javaws.jar:/usr/lib/jvm/java-7-oracle/jre/lib/plugin.jar:/usr/lib/jvm/java-7-oracle/jre/lib/jfxrt.jar:/usr/lib/jvm/java-7-oracle/jre/lib/jfr.jar:/usr/lib/jvm/java-7-oracle/jre/lib/ext/sunec.jar:/usr/lib/jvm/java-7-oracle/jre/lib/ext/sunjce_provider.jar:/usr/lib/jvm/java-7-oracle/jre/lib/ext/dnsns.jar:/usr/lib/jvm/java-7-oracle/jre/lib/ext/zipfs.jar:/usr/lib/jvm/java-7-oracle/jre/lib/ext/localedata.jar:/usr/lib/jvm/java-7-oracle/jre/lib/ext/sunpkcs11.jar:/home/me/idea-IC-141.1532.4/lib/idea_rt.jar com.intellij.rt.execution.application.AppMain HourglassFigure
Exception in thread "main" java.lang.ClassNotFoundException: HourglassFigure
    at java.net.URLClassLoader$1.run(URLClassLoader.java:366)
    at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:425)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:358)
    at java.lang.Class.forName0(Native Method)
    at java.lang.Class.forName(Class.java:195)
    at com.intellij.rt.execution.application.AppMain.main(AppMain.java:122)

Process finished with exit code 1

我怀疑.iml 文件是罪魁祸首?还是因为我使用的是.gitignore?

每当我创建一个新的 IDEA 项目并将代码复制到一个新的 java 类文件中时,代码都会毫无缺陷地执行。

【问题讨论】:

  • 作为一个规则类文件是丢弃的文件,它们不与项目一起存储在 VCS、分布式或其他方式中。唯一可以责备忽略文件的方法是,如果您还想将项目(iml)文件存储在 git 中,并且忽略文件告诉 git 忽略 iml。我将检查项目结构 (F4) 以查看是否将包含类文件的目录添加到类路径中。那就是说我不会将类文件推送到 git。
  • Java 程序员如何使用 IJ IDEA 方便地提交和克隆存储库?我删除了阻止 /out/.class 提交的 .gitignore 设置,但我仍然无法方便地分享我的工作

标签: java git github intellij-idea


【解决方案1】:

根据经验,我不会检查 IDE 设置,因为它们可能因机器而异(例如 JDK 可能位于不同的位置,IDE 特定的可执行文件可能位于不同的路径等)。这是我的 .gitignore 中与 IntelliJ/sbt 相关的摘录:

target/
.project
.idea*
/project.plugins/project
ca.log
*.iml

所以将它添加到你的 .gitignore,在两台机器上设置项目,看看它是否有效。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-03-17
    • 2021-12-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多