是否有一种简单的方法来判断Java项目是否在特定的IDE中编写?在我看来,由特定IDE制作的Java项目对另一个IDE并不完全透明,因此事先知道项目是用哪个IDE创建的很重要。
问候。
Eclipse项目save out .project
和.classpath
NetBeans saving out .nbproject
IntelliJ可以使用基于文件的.iws, .ipr and .iml
或基于目录的.idea
如果它是一个eclipse项目,它将在根目录下有一个.project文件。如果是netbeans项目,你会在根目录下找到一个nbproject文件夹
如果项目正在使用ant、maven、ivy(或其他类型的构建工具)之类的东西,那么它就可以跨ide移植。大多数构建工具都带有插件或命令,用于为项目生成IDE特定的元数据。(mvn eclipse:eclipse, play eclipsify, sbt gen-idea...
)
也就是说,IDE并不重要——你所需要的只是源文件、依赖项和编译器。
然而,如果你签出了一个版本控制系统(svn, git等),如果一切正常,你将不会看到任何IDE特定的文件签入
您可以轻松地检查由各种ide创建的额外配置文件。在eclipse上,您将在工作区的根目录(而不是项目的根目录)找到一个名为.metadata的目录。它将有一个名为.log的文件,其中包含如下可见信息:
!SESSION 2011-03-31 17:24:25.570 -----------------------------------------------
eclipse.buildId=M20100909-0800
java.version=1.6.0_21
java.vendor=Sun Microsystems Inc.
BootLoader constants: OS=win32, ARCH=x86_64, WS=win32, NL=en_US
Command-line arguments: -os win32 -ws win32 -arch x86_64
所以你可以很容易地看到它的日食。如果该目录不可用(假设没有提交源代码),您仍然可以进入项目结构中的目录,并在文件中查找其他元数据。
在我的项目中,在实际的项目目录树中有一个名为。settings的文件夹,其中的文件名为:org.eclipse.jdt.core
等。通过简单地查看,您可以知道它是Eclipse。
我相信当您查看NetBeans项目时,您会发现类似的线索。