This seems like a decent solution.
I do something similar on my projects with a Maven-1 multiproject build that also works with Eclipse so that I can remotely debug the code on Tomcat. I make use of the jetspeed plugin's genapp goal.

I don't want to offically advocate the Maven-1 plugin solution because we are planning to change the build over to Maven-2

If we can wait until the entire build is moved to Maven-2, the plan is to provide customizations (Maven-2 profiles) that will replace the Maven -1 plugin/genapp solution

Joachim Müller wrote:
Hi.

we set it up like described below:

3 separate projects (directories) under one top project:
- portal
  - portal-base
  - portal-apps
  - portal-layouts

first the maven view  :)
-----------------------

- portal-apps:
  - the portlet application for the portal, here the portlet webapp is generated
  - just set up the usual maven structure for portlet apps (like the apps in 
jetspeed-2.0-src\applications)
  - you can build your portlet webapp with the usual war:install goal
  - IMPORTANT:
    - we already put the jetspeed deployment changes into the web.xml file of 
the portlet-app
      (defining Jetspeed Container servlet), so this webapp is ready to run in 
the portal itself
      and doesn't have to be deployed via the J2 deployment mechanism (also 
portlet.tld is included)

- portal-layouts:
  - project for defining new layout portlets for the portal
  - this is the same as jetspeed-2.0-src/layout-portlets, just some changes in 
portlet.xml
    -> define new portlets based on existing Layout portlets but using new 
layouts as ViewPage
       (these new layouts are then defined in portal-base under
        \ingrid-portal-base\src\webapp\WEB-INF\templates\layout\html)

- portal-base:
  - the customized portal itself; here the portal webapp is generated
  - generate here with j2 maven plugin the J2 minapp (goal 
j2:portal.genapp.minimal)
  - put only your customization under:
    - src/java (e.g. changes in Jetspeed files)
    - src/webapp (changes concerning webapp)
  - define post goal in maven.xml which copies your webapp stuff to the target 
after
    building J2 minapp (this has to be done to OVERWRITE J2 stuff, the default 
maven
    behaviour doesn't overwrite; define a <postGoal name="war:war-resources">)

- portal:
  - only has maven stuff to bundle subprojects (build all, clean all, put all 
together -> war)
  - war build:
    - portal-layouts war is build
    - portal-apps war is build
    - portal-base webapp is build
    - war of portal-layout and portal-app is copied to deploy directory
    - portal-base war is build
    -> then you have the war to deploy (when development is finished  ;)


DEVELOPMENT IN ECLIPSE with Tomcat:
-----------------------------------

- portal-apps:
  - usual java project setup, use libs from maven repo via MAVEN_REPO variable
    (you can generate eclipse classpath file via maven eclipse plugin)
  - set output path directly to your webapp classes directory
  - sysdeo tomcat plugin pointing to portal-apps\target\"your portlet webapp"
    (usual tomcat Context file)

- portal-base:
  - usual java project setup, use libs from maven repo via MAVEN_REPO variable
  - set output path directly to your webapp classes directory
  - sysdeo tomcat plugin pointing to portal-base\target\"your portal webapp"
    (use maven generated Context file under /target/portal-conf, add sysdeo
    changes like "docBase")

that's it already ;-)
you can generate your develop webapps once via maven (and whenever
you want to copy changed webapp stuff from src to target). After
starting tomcat you can develop/debug your portal-base and portal-app,
your java changes are automatically compiled to the webapps.

NOTICE:
- you should only have one portal under tomcat (2 portals, like
a usual deployed war + a context to your development dir won't work).
- if you do a "build all" during development, don't copy the portal-apps.war
to your portal-base deployment directory, because you want to use
your develop portal-apps.

Draw back:
- All NON-Java source must be copied manually (or by maven) to the
target folder.
- Changes in portlet.xml require a restart of tomcat.


IF ANYBODY KNOWS SOMETHING SIMPLER, PLEASE POST IT.



Michael Gustav Simon wrote:

I use eclipse wtp with the jetspeed sources and use maven to build jetspeed.
:-(
Please send your small howto asap, because my dev environment is very slow
with maven.

How do the other developers works?
How do the other customizer works?

Am 13.01.06 schrieb Raj Saini <[EMAIL PROTECTED]>:

Hi Markus,

I am using Eclipse with WTP to develop custom portal and portlets. I did
this by hacking binary release as an SDK. I am not using Maven for
building
eclipse. I also use Eclipse with WTP for portlet development. If this is
interesting to you I can put together a small howto.

Thanks,

Raj

On 1/12/06, Markus Kleinfelder <[EMAIL PROTECTED]>
wrote:

Hi,

somebody experience with building a jetspeed portal & jetspeed portlets
with eclipse?
how to organize the projects for the portlets in eclipse, etc.

unfortunately the link


http://portals.apache.org/jetspeed-2/Portal-Development-with-Eclipse.html

is broken..... :-(((

thx,
markus




Markus Kleinfelder
LOYALTY PARTNER GmbH
Theresienhöhe 12
80339 München
Tel. +49 (0)89 997 41-820
Fax. +49 (0)89 997 41- 90 820
Email: [EMAIL PROTECTED]
www.loyaltypartner.com
www.payback.de

Bitte beachten Sie unsere neue Büroadresse

Die in dieser E-Mail enthaltenen Informationen sind vertraulich und

können

rechtlich bedeutsam sein. Sie sind ausschließlich für den Adressaten
bestimmt und jeglicher Zugriff durch andere Personen ist unzulässig.

Falls

Sie nicht der beabsichtigte Empfänger sind, ist jegliche

Veröffentlichung,

Verteilung oder sonstige in diesem Zusammenhang stehende Handlung

untersagt

und unter Umständen rechtswidrig. Herkömmliche E-Mails sind zudem nicht
gegen Zugriff geschützt und können mit und ohne Einfluss von Dritten
verloren gehen, verändert oder verfälscht werden. Eine Haftung für die
Unversehrtheit von E-Mails oder hieraus enstandene Schäden kann daher

nicht

übernommen werden.
The information in this e-mail is confidential and may be legally
privileged. It is intended solely for the addressee and access to the

e-mail

by anyone else is prohibited. If you are not the intended recipient, any
disclosure, distribution or any action taken or omitted to be taken in
reliance on it, is prohibited and may be unlawful. Common e-mails are

not

protected against access by third persons and therefore might be lost,
changed or falsified, with or without any interference by third persons.

We

cannot accept any responsibility for the integrity of e-mails or for any
damages resulting out of these circumstances.



---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]





---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]





--
David Sean Taylor
Bluesunrise Software
[EMAIL PROTECTED]
[office] +01 707 773-4646
[mobile] +01 707 529 9194

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to