For help with installation, bugs reports or feature requests, please head over to our new forums.
Genuitec Community on GitHub
- This topic has 7 replies, 4 voices, and was last updated 20 years, 3 months ago by
pjbrownva.
-
AuthorPosts
-
ccaprarMemberI am evaluating the possibility to switch to Eclipse (and MyEclipse) from another commercial IDE.
Most things seem to be ok, except that our project layout seems to be impossible for ME.
Here we go:
1. The complete application is made of separate modules, like mod_framework, mod_system, mod_common.
2. Each module contains its sources (in a src/module_name/com/… subfolder) and also (if the module has some UI), the module contains the specific JSP files (in a src/module_name/jsp/…. subfolder).
3. There is a special module named mod_build. Here there is a build/app.ear folder, where everything is compiled by ANT.
4. Each module has as output folder a link to the mod_build/build/app.ear/app.war/WEB-INF/classes and all compile in that place (had to remove the output folder cleanup before build 😉 ).
5. Project is using Struts 1.2Now the question is, how can I have such a project as a J2EE project in ME? I want to deploy this in a JBoss server also.
Many thansk,
CristianFebruary 7, 2005 at 8:44 am #224563
ccaprarMemberI forgot to mention that I need to make source code JSP changes in each module’s JSP folder, not in the final ear folder. Also, all modules contribute with their JSP’s to the same web application context.
Thanks,
CristianFebruary 7, 2005 at 8:50 am #224565
Riyad KallaMemberCristian,
As the project currently stands you are right, this won’t work in ME *currently*. We working at getting true flexiproject support in for a later major release (maybe 4.0) that will be able to handle things like this.But until then, what most of our users do in this situation is the following:
1) Map every ‘framework’ or ‘library’ project to a plain Java Project, these only consist of JAR files and Java source files that are compiled into an output dir like /bin in the project
2) Map every Web Module to a Web Project, for example maybe your entire app has a Content management system (1 web project), a Scheduling system (1 web project) all built into it… Web Projects are just free-standing web projects.
4) Mark the framework and library projects as dependecies of the Web Projects that use them (Java Build Path > Projects, and Project References in the project properties page), be sure to export the libs from the base framework/library projects
5) Create an Enterprise Project that marks the Web Projects as modues of it
6) Deploy the Ent Project to JBoss, and run it.We have detailed documentation that walks you through all this here:
http://www.myeclipseide.com/ContentExpress-display-ceid-67.htmlWhile it might be a pain to adjust it, you will need to leverage the cost of your current IDE with MyEclipse and see if <num of devs> x <cost of commercial IDE> == <worth refactoring project structure>
Sometimes it is an afternoon worth of work, othertimes it is such a huge legacy app it simply isn’t worth it. It is really hard to tell.
February 7, 2005 at 10:14 am #224575
ccaprarMemberRiyad,
Thanks for the reply.
As I mentioned, each module contributes to the web module, but under the same application contexts, so in the end the JSP files from each module (and the classes from all modules) get in the same WAR. All the modules that contain UI also contribute to the WAR web.inf with their own servlets, filters and so on. This makes things very difficult to model with the simple web app concept that currently exists in ME.
I think it could work (actually it works like this in the commercial IDE) if I could add to the same web project document root something like links to external places in the file system. This is something I already do for the non-web projects, where I linked all the output folders to links to the common WEB-INF/classes of the deployment.
Do you know when something like this could be available in ME?
Thanks again,
CristianFebruary 7, 2005 at 10:22 am #224580
Riyad KallaMemberThis makes things very difficult to model with the simple web app concept that currently exists in ME.
Agreed, I do not think this is supported currently.
Do you know when something like this could be available in ME?
The flexiproject support will, at the earliest, be part of the 4.0 release, which will be a few months after 3.9 (end of March)… so likely a ways off. Let me ask one of our devs about this and see if I am missing some ME trick that can be done…
February 7, 2005 at 11:47 am #224588
Scott AndersonParticipantCristian,
Based on your requirements, our deployer won’t be able to package and deploy your projects. So that’s just one feature you won’t be able to use. However, that’s not too much of an issue since you already seem to have Ant scripts to do all of the packaging and deploying anyway. So, you should be able to set up your project as it is as a single Java project and then use our editors but your existing scripts to build and deploy your customized WAR to your application server. Even without our deployer, you can still user our server connector to start/stop the server and this will enable debugging to work within your project structure.
February 8, 2005 at 4:37 am #224672
ccaprarMemberHi Scott,
Thanks for the information. I do not need the deployer, everything is done anyway using ANT scripts indeed. But I still cannot see how I can setup a project to support web features, when my JSP files are scattered around my modules, I have a project for each module and I cannot link the web-root of a project to multiple places in the filesystem (something like making a logical folder out of multiple phisical folders).
Thanks,
CristianMay 17, 2006 at 11:12 pm #252167
pjbrownvaMemberI have a project for each module and I cannot link the web-root of a project to multiple places in the filesystem (something like making a logical folder out of multiple phisical folders).
I have written ant scripts to address this issue in the past. Basically, you create a “staging” area, and use ant to copy all of the different pieces to the correct directory in the staging area. Then you can create a war file out of everything in the staging area. use of an ant.properties file helps to keep everything neat and tidy. I don’t have an clean example available, but if you look at keelframework.org, you will see that they use this concept in their build system (although their build system is very complex).
I hope this helps.
-P
-
AuthorPosts
