I had the same problem. I installed the latest Eclipse platform, Indigo, first using the Ubuntu Software Center, and when I didn't see the JavaEE perspective, I though I'd gotten the wrong one. I deleted that and installed the Java EE version downloadable from eclipse.org -- but still no Java EE perspective available. Then I read the advice above (and elsewhere) about installing the WTP plugins.
I decided to blow away the previous installation of Eclipse, because I prefer installing everything through the normal package management system. Then, after having installed Eclipse again, through the Ubuntu Software Center (and not seeing the Java EE perspective)... but I'll tell the rest of the story as a set of instructions:
By the way, some of those Eclipse packages that I give for installing through apt-get might have been installed during the Eclipse software update phase, as I didn't install all of them by myself. The most important ones are eclipse, eclipse-platform, eclipse-platform-data, eclipse-pde, and eclipse-rcp. The descriptions of all of them are:
I am trying to create a simple Java HTTP Servlet inside of eclipse, however, under the Web folder in the project wizard i do not have an option for J2EE Web Module as many tutorials have indicated, i only have Dynamic and Static Web Projects. just a little background, i am trying to simply build a small servlet that i am then exposing via JBoss Web on one of my web servers.
jstj2ee Standard Tools ProjectProject VisionThe project vision is to extend eclipse platform with support for building multi-tier J2EE applications. The project will grow the community of eclipse users, and grow the community of developers that create Web applications based on the J2EE platform. In this way, we will help make eclipse the industry standard tool integration platform for development based on Open Standards and Technologies. The project must preserve the eclipse value proposition by providing integration, ease-of-use, function, and "coolness". Web artifacts must be first class citizens with respect to the capabilities that eclipse users expect. Servers must be first class execution environments, including both Open and Commercial implementations, therefore encourage support of eclipse by server vendors.
The scope of the J2EE Standard Tools subproject is the support of J2EE programming. This includes the support of APIs covered by the J2EE1.4 specifications (e.g. JSP, Servlets, EJBs, JCA, JMS, JNDI, JDBC, Java Web Services, JAX* and related JSRs). Support for JCP specifications commonly used in Web Applications, but not included in J2EE1.4 is to be studied on a case by case basis (ex: JSF,JDO).
JST will have annotation support (JSR 175-Metadata), on top of those provided in the JDT, e.g. for code assist, where applicable. Annotation support will include JSR 181-Metadata for Web Services, and in the future will include support for other standardized metadata such as EJBs. In the transitional period until there are JSRs for J2EE annotations, JST will have some support for widely accepted open technologies such as XDoclet.
This is a set of frameworks, and models, which provide the necessary abstractions and APIs to work and develop with J2EE Tools, and to build IDEs and tools to support these activities. JCM is not just an adaptation of the J2EE specifications, but it will focus on the additional requirements of developers and tool builders. JCM is naturally related to the models and tools defined inthe Web Standard Tools subproject, and will address at a minimum the following areas:
The J2EE Project model extends Web Project Model to support the development of J2EE applications in a variety of ways; projects divided across multiple related projects, or modules factored into one project that can host multiple artifacts. This includes support for:
The Editor Model will offer developers a set of APIs to access J2EE models, participate in build and refactoring activities, and allow them to easily create various text, and graphical editors for J2EE.
These models will represent J2EE standard modules, files, deployment descriptors and various other artifacts, associated natures, builders, validators and EMF models. They will at minimum include models for:
J2EE Application Servers are multi-tier distributed component-based products, typically implemented in Java, that reside in the middle-tier of a server centric architecture. They provide middleware services for security and state maintenance, along with data access and persistence. This model generally includes a Client Tier, a Middle Tier, and an EIS Tier. The Client Tier can be one or more applications or browsers. The J2EE Platform is in the Middle Tier and consists of a Web Server and an EJB Server (These servers are also called "containers"). There can be additional sub-tiers in the Middle Tier. The Enterprise Information System (EIS) tier includes the existing applications, files, and databases.
Although based on the same standard, there are significant variations on how available servers support J2EE components, the way they are administered, started, stopped and how J2EE modules are managed, and how they support development time activities such as debugging and hot deployment and automatic refreshes.
The server model must at a minimum define abstract facilities and configurations to:
J2EE Standard Tools will provide extensible plug-ins for the development of J2EE Applications and support development, testing and debugging with a wide range of J2EE servers. Exemplar tools will support the development of Web Applications (.war), Enterprise JavaBeans, Java Web Services, and support development, testing and debugging with standard compliant J2EE application servers ('specific additional extensions may be required').
The interaction of JCM and the exemplar tools based on JCM will provide a healthy environment where requirements and APIs are based on actual needs. Tools will verify the APIs. This is a critical feature of the project in that JCM without tools, or tools without JCM, will not achieve our goal to provide a platform for high quality web development based on J2EE.
When using a Eclipse 3.7 Indigo for Java EE Developers, there is something called Deployment Assembly . I could find on google and understood that it is similar to the J2EE Module dependencies where in we could select the jar and which goes and sits in the EAR folder or in WEB-INF/lib in case of WAR. Now the doubt I have is,
I have a JavaProject Dependencies. I have added all the dependent Jars via classpath variable. Now the Dependencies Project is added as dependency to my Web Project TestWebProject. The compilation of the Web Project is correct but during runtime I get an error because some jar was not found. I could fix this my include jar in Deployment Assembly of Dependencies Project, which is a standalone project.
Because this way Eclipse will autobuild a JAR file of the project and put in /WEB-INF/lib of the web project's deployment. If you don't do that, the JAR isn't available during webapp's runtime, but only during compiletime and Eclipse expects that you've already built and placed it anywhere else in runtime classpath, e.g. server's own /lib.
When assembling a WAR, Eclipse cannot tell just by looking at your build path dependencies whether they are something that should be bundled in WAR's WEB-INF/lib directory or if they are something that you expect to be available on your server classpath. Extra metadata is needed to differentiate among those cases.
Right click on these and select "Quick Fix". You will see a dialog with available fixes. One of them is going to say something like "Mark the associated classpath entry as publish/export dependency...". Use that option.
The above will make a slight alteration to your Java project's .classpath file to tag the dependencies for inclusion in the assembly. You can test without running by exporting a WAR file and checking the contents of WEB-INF/lib folder.
Deployment assembly - eclipse expects the projects under this path to be bundled and deployed as .jar in web-inf/lib folder. So that it is available for both compile time and run time. If the project is not deployed in deployment assembly then the code is available only for compile time, eclipse won't bundle it and at run-time dependent projects are unavailable to the code.
Eclipse comes with differents configurations but there is always the same "eclipse" as core application. They are the same Eclipse with differents collections of plugins that you can install, remove and update trough the package manager integrated in Eclipse itself.That's why you can't find the Eclipse you want with an apt package manager.
You also do not need to install eclipse or java ( the .bin version from the Oracle website ), they can be unpacked in a local folder, for example you can unpack this two in your home folder and then add the -vm option to the eclipse.ini or launch eclipse with the -vm option, example:
The warnings are due to some files not being recognized as x86_64 ELFs during the stripping process because the official Eclipse build includes non-x86 binaries. Those warnings are harmless, but to avoid them you can disable stripping by adding OPTIONS=(!strip) to the PKGBUILD.
As for the Java version being installed rather than JEE, please check whether you're building the right package. The downloaded tarball's name during makepkg should be eclipse-jee-2024-03-R-linux-gtk-x86_64.tar.gz.
I think line 23 with backup=('usr/lib/eclipse/eclipse.ini') causes a lot trouble when interacting with other packages. The problem is that when you upgrade, it uses the old eclipse.ini file which references files of the previous eclipse version that no longer exist. This requires some quite annoying manual work to fix it. So, I would like to suggest removing it when possible.
No problem, good continuation and dont forget to switch to IDEA one day, you will love it ;DD It's weird when you switch from eclipse to it at first, but you quickly adopt it for all what it does better than eclipse
795a8134c1