- This topic has 3 replies, 2 voices, and was last updated 20 years, 1 month ago by Riyad Kalla.
-
AuthorPosts
-
ggerardMemberIt really is getting more frustrating that I cannot tell MEI that certain libraries are part of the deployment and others aren’t and to store all the libraries in folders outside the webapp folder.
Also, MEI wants to build in-place rather than letting me choose a directory where it can freely scribble.
src/webapp as a build and source directory is bad practice but seemingly mandatory by MEI. 🙁
If there’s a work-around, I’d love to know but have not found it yet.
thanks,
greg
Riyad KallaMemberGreg,
Deployment of User Libraries will be added in 3.8.3 as it was a very popular request.As far as building “in place”, I don’t quite follow. Standard project structure is as such: http://www.myeclipseide.com/FAQ+index-myfaq-yes-id_cat-30.html#111
Your /src folder is clearly outside of the webroot and is built into the WEB-INF/classes dir which is the proper location for it. Your libraries will always be in the WEB-INF/lib directory and your JSP files are under your WebRoot (or necessary subfolder) as they should be… they are not built until they are run on the app server which places the output in a server-specific dir.
MyEclipse does use a scratch dir (.myeclipse) to build JSP files and such during validation, but then it immediately cleans it out.
ggerardMemberbuilding in place…
So normal practice is to have src/* which is version controlled and anything appearing within this directory *should* be checked in. Dynamic source generation deposits output elsewhere so nothing ever gets confused (dynamic sources, because they are generated on the fly by the build system, are never stored by the VCS).
Putting output files into your source tree causes the same problems. .class files are just transformed (dynamic) source files, only source files meant to be interpreted/compiled by a JVM and not javac.
So with IDEA, I can express this easily. It has the concept of “show me where you want your exploded webapp directory after I build the sucker to go”. It then merges all the build artifacts together and places them there. Deployment from this artifact might then be done.
src/service — things belonging in the service (middle) tier
src/web — things belonging in the web tier
src/webapp — things belonging to the webapp (has the structure of the webapp, but does not contain any output from the build system)So I must tell MEI to set the output directory for builds to src/webapp/WEB-INF/classes which violates the version control practices of not mixing controlled and uncontrolled assets.
Riyad KallaMemberSo with IDEA, I can express this easily. It has the concept of “show me where you want your exploded webapp directory after I build the sucker to go”. It then merges all the build artifacts together and places them there. Deployment from this artifact might then be done.
This is ultimately where MyEclipse is going, for now we are stuck with the more static version. This change is not trivial and does not have an ETA just yet, but we are eager to get the time to implement it.
So I must tell MEI to set the output directory for builds to src/webapp/WEB-INF/classes which violates the version control practices of not mixing controlled and uncontrolled assets.
I understand in theory what you are getting at, but in practice just add this dir to .cvsignore or equivalent ‘ignore’ flag so it is not processed during source control operations.
-
AuthorPosts