eclipse新建工程的时候,没有Create project from exiting source选项,是少了啥插件吗?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了eclipse新建工程的时候,没有Create project from exiting source选项,是少了啥插件吗?相关的知识,希望对你有一定的参考价值。

eclipse新建工程的时候,没有Create project from exiting source选项,有谁知道是少了什么插件吗?
我的eclipse是从官方网站下的最新版eclipse java开发环境,没有这个插件在导入工程的时候很不方便
我就想知道哪个插件可以把Create project from exiting source这个弄出来,因为有的时候文件夹里面只有代码文件,没有工程配置文件

请大家看清楚我的问题,我就是想知道这个插件是什么,去哪里下载。我就是要在eclipse下Create project from exiting source这个选项弄出来,我知道myeclipse直接集成了,但我要的是eclipse

eclipse4 是没有Create project from exiting source这个选项,你可以使用低版本的。或者先建一个工程,然后选择import,从文件系统导入,选择代码的目录,效果和Create project from exiting source是一样的 参考技术A 点击import,在General下有个existing Projects into WorkSpace,导入存在的项目用Import project from exiting source 参考技术B 你可以试试新建一个相同名字的工程 然后Build path 里选link source 参考技术C File->new->other->android->Android project from existing code->browse->选择路径。。。。 参考技术D 先看下你的两个路径之间有没有用分号间隔或者路径有没有错误,如果都没错,下面是安装配置过程对照一边:
首先:安装 JDK6(jdk-6-windows-i586.exe)
安装完JDK后,在安装MyEclipse(在这里我安装的是MyEclipse 6.0)
(也可以安装Eclipse,区别是Eclipse 要装比较多的插件,而MyEclipse就不用那么麻烦。当然MyEclipse是要钱的。题外话)
安装完这些后开始部署Android的环境了(参看一下步骤):
1:在Windows机器上,右键单击我的电脑,选择属性->高级,点“环境变量”按钮,在出现的对话框中双击“系统变量”下面的Path变量进行修改,把$SDK_ROOT/tools的真实路径加入其中(即Android sdk 解压后的文件夹下的tool路径 在这里我是 C:\Downloads\android-sdk-windows-1.5_r2\android-sdk-windows-1.5_r2\tools)。
将$SDK_ROOT/tools目录加入系统路径中可以让你在使用adb(Android Debug Bridge)和其它命令行工具的时候不需要输入全路径名。如果你升级了你的SDK,如果和原来目录不一样的话,要记得更新你的PATH变量设置。
2:安装Eclipse的Plugin(ADT)
如果你希望使用Eclipse作为你开发Android应用程序的开发环境,你可以安装一个叫做ADT(Android Development Tools)的插件。ADT插件包含一系列功能强大的扩展功能,可以更快更容易的创建、运行并且调试Android应用程序。
如果你不打算使用Eclipse,那么就不需要下载和安装ADT插件。
为了下载和安装ADT插件,要先设置MyEclipse远程更新站点,可以按照下面的步骤进行:
1. 启动MyEclipse,选择菜单Help>Software Updates>Find and Install …
2. 在显示出的对话框中选择Search for new features to install,按下Next继续。
3. 按New Remote Site按钮。
4. 在出现的对话框中,为远程更新站点输入一个名字(譬如Android Plugin),还要输入下面的URL: https://dl-ssl.google.com/android/eclipse/ 按OK按钮。
5. 你现在会看到新的站点被加入到搜索列表中,并且被勾选上,按下Finish按钮。
6. 在消息更新结束后,你会看到Search Results对话框,在其中选中Android Plugin > Eclipse Integration > Android Development Tools,然后按下Next按钮。
7. 接下来是插件的许可协议,看完之后选择Accept terms of the license agreement,然后按Next继续。
8. 在出现的Install对话框中按Finish,会开始下载ADT插件。
9. ADT插件没有认证,你可以点击“Install All”按钮允许安装。
10. 重新启动MyEclipse。
11. 重启MyEclipse之后,设置MyEclipse的参数,使之指向开发包的根目录($SDK_ROOT):
a) 选择Window>Preferences…打开参数设置面板
b) 在左侧面板中选择Android。
c) 点击右侧面板的SDK Location后面的地址栏中输入SDK包的地址,或者点击Browse按钮在系统中寻找。(在这里我是 C:\Downloads\android-sdk-windows-1.5_r2\android-sdk-windows-1.5_r2)
d) 输入后点击确定。

更新ADT插件
可以通过下面的步骤更新ADT插件到最新版本:
1. 选择Help>Software Updates>Find and Install…
2. 选择Search for updates of the currently installed features,按Finish按钮。
3. 如果发现有ADT的更新的话,选中并且安装。
或者以下面的方式更形ADT插件:
1. 选择Help>Software Updates>Manage Configuration。
2. 从左侧树状导航条找到并选择Android Development Tools。
3. 在右侧的Available Task条目中点击Scan for Updates。

在MyEclipse开发环境中开发Android应用程序
在MyEclipse中开发Android应用程序之前,你需要先创建一个Android工程,然后设置启动配置。之后,你就可以写代码、运行和调试了。
本节之后的内容假定你已经在Eclipse中安装了ADT插件。如果你没有安装ADT插件的话,请先按照前面的步骤安装该插件。
创建Android工程
ADT插件提供了新工程向导,你可以快速创建一个Android工程。步骤如下:
1. 选择File>New>Project。
2. 选择Android>Android Project,按下Next按钮。
3. 选择两种不同的创建新项目方式:
? 选择Create new project in workspace。创建新工程。
? 选择Create project From existing source在已存在的代码上创建工程。你可以使用这个选项创建和运行SDK包中的例子代码,它们位于SDK包的samples目录下。
4. 点击Finish按钮,结束创建工程。
工程创建完后,ADT插件自动创建下面的文件和目录,放置特定的内容:
src/ :包含你的java源文件
res/ :包含资源文件
AndroidManifest.xml :工程的manifest文件本回答被提问者采纳

Eclipse中一个Maven工程的目录结构

1. 为什么写这篇文章

  在之前的javaSE开发中,没有很关注Eclipse工程目录下的环境,总是看见一个src就点进去新建一个包再写一个class。以后的日子中也没有机会注意到一个工程到底是怎么组织的这种问题,更不要说自己试试怎么控制了。

  但是最近在学习Maven的时候知道了它对工程的目录结构有要求,也就是所谓的“惯例优于配置”。有一个被绝大多数人认可的java工程的目录结构被确定下来。这样统一了市面上各种复杂配置的工程。于是我便重新开始查资料,看看别人到底如何安排一个优秀的工程框架的。

  同时,我也分析了Eclipse会给一个项目生成什么配置文件,其中的内容和意义又是什么.这样能心里面大致有个数,本地的什么文件是干什么的,怎么来的。

2. 一个简单的J2SE工程目录结构

  首先,Mac中,一个默认的Eclipse工程的目录结构:

  • MyProject:工程的名字
  • src:一个源文件文件夹
  • com.jd.MyProject:一个包。一般是倒写的域名保证其独一无二性。
  • Main.java:一个java文件。

 

看上去就这么多?其实不是的,在我的mac环境下,一般时候Eclipse左边的目录是Package Explorer,也是是如上图显示的内容。但是其实可以用另外一个显示其真正的目录,也就是包含一些隐藏文件。叫Navigator(事实上Package Explorer默认隐藏Linux系统下的以.开头的隐藏文件,所以看不见,而Navigator默认打开)。显示效果如下:

3. 为什么Eclipse能认出来这些?

  那么除了这些之外,其实还有值得探究的部分:

  • 为什么Eclipse能识别出这个一个Maven工程?
  • Eclipse怎么识别Source Folder?

  这些问题可以提出很多,其实本质上都是:Eclipse是一个集成开发环境,而Maven是一种项目管理及自动构建工具(维基百科),Eclipse没有责任去“识别”Maven。这句话乍一听感觉和直觉不相符合:明明新建工程的时候选择新建一个Maven工程,Eclipse就知道这是一个Maven工程啊?明明导入一个Maven工程,Eclipse就能正确识别打开啊?

  其实是Eclipse帮我们做了很多。所以问题的答案是:Eclipse是通过配置文件来“认知”一个工程的。而这些配置文件,都是一些隐藏文件。你新建一个Maven工程,其实是按照模板写好了这些配置文件,所以Eclipse才能读出来这个工程的相关信息。

(一)我们先看一个普通的J2SE工程的配置文件的内容和其效果,工程如下:

 

1,.settings文件夹下的那个文件:org.eclipse.jdt.core.prefs。里面的内容是:

 1 eclipse.preferences.version=1
 2 org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
 3 org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8
 4 org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
 5 org.eclipse.jdt.core.compiler.compliance=1.8
 6 org.eclipse.jdt.core.compiler.debug.lineNumber=generate
 7 org.eclipse.jdt.core.compiler.debug.localVariable=generate
 8 org.eclipse.jdt.core.compiler.debug.sourceFile=generate
 9 org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
10 org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
11 org.eclipse.jdt.core.compiler.source=1.8

很明显,是明确jdk的,还有一些编译器的参数的配置。

2,.classpath。这个隐藏文件的内容是:

1 <?xml version="1.0" encoding="UTF-8"?>
2 <classpath>
3     <classpathentry kind="src" path="src" />
4     <classpathentry kind="con"
5         path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8" />
6     <classpathentry kind="output" path="bin" />
7 </classpath>

这个比较重要,因为这个文件直接控制了一个工程的目录结构。kind属性为src,表示这个文件夹是放源码的文件夹,物理位置在/src。也就是我们看到的那个文件夹。

kind属性为con,也就是config,里面控制的是这个工程的JVM,JDK,等等信息,一把来说我们不需要的修改。kind属性为output,说明了编译后产生的class文件放在物理地址:/bin里面。

看到这个文件的配置,我们就知道前面为什么工程的目录安排是那样的了,换句话说,正是这个文件的配置,工程才体现那样的目录。再进一步说,如果你在这个文件里面按照你的想法配置,那么你保存之后,项目的目录结构会自动变成你安排的那样。

3,.project。内容如下:

 1 <?xml version="1.0" encoding="UTF-8"?>
 2 <projectDescription>
 3     <name>MyProject</name>
 4     <comment></comment>
 5     <projects>
 6     </projects>
 7     <buildSpec>
 8         <buildCommand>
 9             <name>org.eclipse.jdt.core.javabuilder</name>
10             <arguments>
11             </arguments>
12         </buildCommand>
13     </buildSpec>
14     <natures>
15         <nature>org.eclipse.jdt.core.javanature</nature>
16     </natures>
17 </projectDescription>

也是一些关于编译的配置文件,下面讲Maven还会讲到。

以上是一个普通java工程的所有文件和其目录结构,可以看到在我之前编写代码时没仔细注意的地方,一些配置文件对工程的结构做出了约束。

(二)接下来是一个Maven工程。

在Package Explorer里面看到的目录结构是:

几个不同点:  

  1. Source Folder不是一个简单的src,而是src/main/java

因为Maven是一种强约束的工程类型。它对工程的文件命名和格式要求比较严格。其好处是指定了规范,方便代码的移植和理解。上文中的src/main/java是个什么呢?其实是一个路径,打开其物理地址会发现,是一个src文件夹包含了一个main文件夹,再包含了java文件夹。这样的层次的文件路径一共有4个,如下:

  • src/main/java  :这个目录下储存主要的java代码
  • src/main/resources  :储存主要的资源文件。比如spring的xml配置文件和log4j的properties文件。
  • src/test/java  :储存测试用的类,比如JUNIT的测试一般就放在这个目录下面
  • src/test/resources  :储存测试用的资源文件

  当然,这4个不是都必须有。前两个一般都有,后两个可能没有(不需要测试)。

  与之类似的,如果一个包的名字是com.jd.MyProject,那么它在硬盘上的目录结构就是com/jd/MyProject。

  2.  有一个target文件夹

很简单,就是源码编译后生成的class文件放的地方(如果是一个WEB应用,还有别的信息也在编译打包之后放在target里面)。具体放的时候也会根据是工程代码还是测试代码区分放置class文件。

  3. 一个pom.xml。这个文件可以说是一个Maven工程最重要的文件了,因为这个是Maven的基础配置文件,和程序员打交道最多的也在这个文件里面,包括配置依赖关系等等。

 

根据上文描述,我们都知道了Eclispe里面的.开头的隐藏文件真正配置了工程的目录结构等等。那么这个Maven工程的配置文件里面写的是什么呢?

 

1,.settings:是Maven工程的一些配置,比如JDK版本和文件编码格式(UTF-8),比如父工程和子Module的依赖关系。

2,.classpath,这个文件内容变化了:

 1 <?xml version="1.0" encoding="UTF-8"?>
 2 <classpath>
 3     <classpathentry kind="src" output="target/classes" path="src/main/java">
 4         <attributes>
 5             <attribute name="optional" value="true" />
 6             <attribute name="maven.pomderived" value="true" />
 7         </attributes>
 8     </classpathentry>
 9     <classpathentry kind="src" output="target/test-classes"
10         path="src/test/java">
11         <attributes>
12             <attribute name="optional" value="true" />
13             <attribute name="maven.pomderived" value="true" />
14         </attributes>
15     </classpathentry>
16     <classpathentry kind="con"
17         path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.5">
18         <attributes>
19             <attribute name="maven.pomderived" value="true" />
20         </attributes>
21     </classpathentry>
22     <classpathentry kind="con"
23         path="org.eclipse.m2e.MAVEN2_CLASSPATH_CONTAINER">
24         <attributes>
25             <attribute name="maven.pomderived" value="true" />
26         </attributes>
27     </classpathentry>
28     <classpathentry kind="output" path="target/classes" />
29 </classpath>

 

之前我们知道了一个Maven工程目录结构什么样子,这里就可以看出来为什么这个样子。正是这个文件的配置,让工程在Eclipse里面体现出来了与之前不一样的目录结构。具体一点就是它重新规定了各种文件(源码,配置,输出)在工程中存放的目录。事实上,你在Eclipse里面做工程目录的修改的核心都是修改这文件,从而体现你的修改。

3,.project.xml

这个文件可以说是很重要的,因为一开始我思考的问题是:怎么样把一个普通的JavaSE工程变成一个Maven工程的答案就在这里。我一点点修改,终于发现了最关键的一点,也就在这个文件里面。文件内容如下:

 1 <?xml version="1.0" encoding="UTF-8"?>
 2 <projectDescription>
 3     <name>MavenDemo</name>
 4     <comment></comment>
 5     <projects>
 6     </projects>
 7     <buildSpec>
 8         <buildCommand>
 9             <name>org.eclipse.jdt.core.javabuilder</name>
10             <arguments>
11             </arguments>
12         </buildCommand>
13         <buildCommand>
14             <name>org.eclipse.m2e.core.maven2Builder</name>
15             <arguments>
16             </arguments>
17         </buildCommand>
18     </buildSpec>
19     <natures>
20         <nature>org.eclipse.jdt.core.javanature</nature>
21         <nature>org.eclipse.m2e.core.maven2Nature</nature>
22     </natures>
23 </projectDescription>

 

可以看到多了两行。一个在buildCommand标签里面,一个在natures标签里面。如果你在一个普通的JavaSE工程里面加入了

 <nature>org.eclipse.m2e.core.maven2Nature</nature>

可以看到Eclipse就会在工程图标上加上一个M,认定其是一个Maven工程。删除这句话再保存,前面多出来的那句话也会自动删除。说明这句话正是确定这个工程“特性”的关键。

这个特性本身不重要,重要的是终于明白了,看上去很简单的东西,别人究竟是怎么实现的。在平常觉得理所当然的操作-->结果的背后,也许就体现了别人设计的智慧。比如这里:通过文件记录工程的目录结构。

 

以上就是Maven和普通工程的一些工程结构上的区别,以及造成这些区别的原因。

 

以上是关于eclipse新建工程的时候,没有Create project from exiting source选项,是少了啥插件吗?的主要内容,如果未能解决你的问题,请参考以下文章

用eclipse无法新建c/c++工程

eclipse 创建maven 项目 动态web工程完整示例

Eclipse 的svn工程和svn服务器断开后怎么重新连接。 这里没有删除svn信息。

Eclipse中一个Maven工程的目录结构

Spyder只有新建项目没有新建工程怎么整

转帖 使用eclipse创建之前没有创建的web.xml