Eclipse doesn't see classes from a plug-in dependency - eclipse

I want to use Netty in an Eclipse RCP application. After downloading the latest jar, I've added it to dependencies of my plug-in, but packages it provides aren't resolved in the editor. It's visible under "Plug-in dependencies" in the Package Explorer, as are all other dependencies (which work fine). How can I fix this?

What compilation error do you get when you import classes from netty? How did you create a plug-in project from the netty jar file? Did you use the "Plug-in from Existing JAR Archives" wizard? Are the packages of netty that you'd like to use exported in the manifest of the plug-in project of netty?

Related

I developed an eclipse editor using ecllipse-rcp concepts .My requirement is to build the project using maven

I developed an eclipse editor using eclipse-rcp concepts .My requirement is to build the project using maven.
So i wrote the pom with packaging type=bundle using apache felix concepts.
After building the project, the project jar has the class files,plugin.xml and the manifest file.
Now, I am dropping this jar in plugins folder of eclipse.I want to open files of a certain extension with this editor. But my eclipseis not showing my editor name in the Internal/External editor list, even though the plugin is the plugins folder of eclipse.
Please help.
If you want to build Eclipse plug-ins with Maven, you should use Tycho: https://www.eclipse.org/tycho/. It provides specific packaging types for handling Eclipse plugins and features (groups of plugins).

Importing AEM projects into Eclipse

I have searched around and couldn't find a direct answer in how to import an existing AEM project on my local into Eclipse. I am relativity new to AEM and would like to use the features Eclipse has. I have the AEM plug in downloaded and am able to create a new project, just not import.
I am not using maven, just packages and OSGI.
Advice?
You can create a new AEM archetype project (provided by the AEM eclipse plugin). That project will be a maven project.
Since you are not using maven in your current project, you can manually move all of your java files into their respective location on the newly created AEM project. As for the java dependencies, you can lookup tutorials on how to use maven and add your java dependencies to it. or you can just add your dependencies directly on the project, but I recommend using maven.
You have only package and OSGI bundle, so you can only modify the content (package) and cannot modify the bundle.
We cannot import a project from the osgi bundle to make the source code editable.
For import AEM project to Eclipse, follow the procedure:
Import AEM project as maven projects. Please check with image.
Then select your project and build.
From where you are getting those packages and bundles?
When ever you build the project from the source(cmd : mvn clean install), packages/bundles will be generated under respective target folder based on pom.
So, you can only import project source on eclipse and not the generated target files.

How to use jars in an Eclipse library for eclipse annotation processor?

I want to use the annotation processor that comes with the Ollie library in Eclipse.
Hopefully, the annotation processor is available in the maven repository.
Using Ivy with the Ivyde Eclipse plugin, you can define a separate Eclipse jar library that has only the compiler binaries easily by creating a separate ivy file (named here ivy-compile.xml).
Which is convenient in case the annotation processing tool has many dependencies.
The issue is that Eclipse doesn't let me pick the jar from an Eclipse library. Only from a real folder.
Is there a way to tell eclipse to use the jars in the ivy-compile.xml container?
This thread might help you :
You'll need to add the IVY runtime to the build path of the project. This can be done via Project Properties->Java Build Path under the Libraries tab, select Add Library then select IvyDE Managed Dependencies.
Once that's done, an Ivy resolve will add all the jars specified in ivy.xml to the project's build path.

OSGi bundles dependency management in Eclipse

I have an OSGi bundle which is in Eclipse IDE represented as Eclipse Plug-in Project. The only way I found to satisfy the dependencies of this plug-in/bundle is to
1) import all dependencies (.jar files) through File > Import... > Plug-ins and Fragments wizard
2) and then declare the imported dependencies in MANIFEST.MF
Yes, this solution works, but on the other hand after I commit the changes to our repository all my team mates also have to manually import dependencies to Eclipse to fix the compilation errors.
QUESTION:
Is there a solution which does not require such irritating steps? I just want to pull the changes from repository and continue my work without need to fix the dependecies in MANIFEST.MF again and again...
P.S.: To retrieve dependencies we use Apache Ivy.
You need to set up a target platform in Eclipse. I find the easiest way is to put all the dependencies in a folder, and save the target platform as a .target file which I check into source control. Then the only steps my colleagues need to do is retrieve the dependencies and configure Eclipse to use the shared target definition. If we add new dependencies to the definition Eclipse will automatically pick up the changes with a restart or target platform refresh.
The Eclipse documentation should get you started: http://help.eclipse.org/galileo/index.jsp?topic=/org.eclipse.pde.doc.user/concepts/target.htm
If you develop server based applications then it is much better to let maven or Ivy manage the dependencies and use the maven bundle plugin to generate the Manifest. So you can avoid the Eclipse OSGi mode and the target platform. See http://www.liquid-reality.de/x/DIBZ for a tutorial how to develop OSGi bundles using maven and deploy on Apache Karaf. For Ivy you may have to use a slightly different build but the basics should be the same.

Importing a Scala project from github into Eclipse

I've installed EGit plugin in my Eclipse Helios with latest Scala IDE plugin beta. I've imported it as a "general project" using clone and I can't find any Configure -> Add Scala nature option ... what am I doing wrong? (can't compile/run/add libraries etc)
I'm not familiar with the EGit Plug-in, but do you also have the option to import it as a Java project? The "Add Scala Nature" option is only available for Java projects.
If you can't create it as a Java project, you can also just modify the generated .project file and add the Java nature to it manually:
<nature>org.eclipse.jdt.core.javanature</nature>
(taken from http://enarion.net/programming/eclipse-change-general-to-java-project/)
One recommended approach would be first to make your GitHub project compiled/run with sbt (which ensures both IDE-independence and third-party library dependency management).
The sbt-eclifsify can easily generates .classpath and .project files for the Eclipse IDE from the sbt project.
The class ProjectFile.scala details how the .project file is build.