问题
I want to open Nutch 2.1 source file (http://www.eu.apache.org/dist/nutch/2.1/) at Intellij IDEA. Here is an explanation of how to open it at Eclipse: http://wiki.apache.org/nutch/RunNutchInEclipse
However I am not familiar with Ant (I use Maven) and when I open that source file many classes are not known by Intellij. i.e.:
org.apache.hadoop.mapreduce.JobContext
org.apache.gora.mapreduce.GoraMapper
How can I add them to library or what should I do?
回答1:
I finally figure out how to do it. Now our team can dev nutch in IntellIJ
The process we do
- Get nutch source from apache.org
wget http://www.eu.apache.org/dist/nutch/2.3/apache-nutch-2.3-src.tar.gz
Import nutch source in intellij
Get Dependencies by Ant
- Run
ant runtime
- Run
ant test
- Run
Import dependencies into Intellij
- File > Project Structures
- Library > Ivy
- Click to Plus button
- Select all libraries in
apache-nutch-2.3/build/lib
Now we have a project with nutch source and all dependencies
回答2:
I think, you should use ant build for nutch project. Because, pom.xml is problematical for nutch. If you want to use it anyway maven, you check maven dependency in pom.xml .
I think, the problem can be solved with the following:
- You create new project via idea and add nutch source. Idea is not supported ivy ant project. You can install ivy plugin for idea, I suppose, Idea12 does not support it.
or
- You can create ant project for nutch via eclipse and then save project. Then open the project on idea via eclipse classpath.
or
- You can configure classpath. If you use ant build, you should add jars :
File->ProjectStructure
as follows:
Create a library

Attach Files

Then, if you use ant build, select jars from NUTCH_HOME/build/lib/* after build.

If you use maven build, select jars from ~/.m2/* (MAVEN_REPO)
回答3:
Although Intellij supports running ant scripts directly through the IDE via the ant plugin, the Intellij editor will not figure out the classpath using your build.xml file by itself.This will result in the editor showing the code littered with errors.
Unfortunately the only solution I found to this is to add all the jars manually.You can get all the jars needed by building the ant project using the ant jar command.
So these are the steps you need to follow :->
1.Run ant jar command in the root of your program
2.Copy all the jars created inside the build folder(they will not be directly inside build folder.I had to go from build->ivy->lib->{project name})
3.Paste these jars to a new folder created somewhere outside the directory
4.Go to File->Project Structure->Libraries. Press the + button.
5.Select all the copied jars and press ok to any prompts which appear.
6.Press finish and wait for indexing to complete.Any dependency errors in the editor should resolve now.
Note: Since you are manually adding jars, you would need to keep them in sync if you change your build.xml file for any dependency change.
回答4:
It seems that dependencies are managed using Ivy (see the ivy
folder in the sources archives), so you could try to install the Ivy plugin, which would allow you to fix your classpath issues.
来源:https://stackoverflow.com/questions/15357462/how-to-open-an-ant-project-nutch-source-at-intellij-idea