You are viewing a plain text version of this content. The canonical link for it is here.
Posted to server-dev@james.apache.org by Simon Levesque <su...@gmail.com> on 2019/03/14 12:19:00 UTC

How do you develop James?

Hi all,

I spend a lots of days trying to set up an environment to run James in an
IDE to be able to debug and fix things, but I didn't succeed.

   1. Import James in Eclipse
      1. Eclipse is complaining that there are Maven features that are not
      supported
      2. Some projects do not compile (I guess because of previous point)
   2. Import in Intellij
      1. No complains
      2. When trying to start, build errors due to missing imports
   3. Start a fresh Java application, depend on the James libraries
      1. I made it start like the main James spring application you have
      2. It is starting, the database gets the tables
      3. Then, OpenJPA is trying to get a javax transaction manager via
      JNDI and complains that JNDI is not initialized
         1. Even in Spring, there is no javax transaction manager
         2. If I try to configure JNDI to use any of the 2 implementations
         I found in the classpath (ActiveMQ and Camel), both are fine, but
         complainings they don't know about the "java" namespace
         3. In James code, I cannot find anywhere you actually configure
         JNDI by searching "jndi" (case insensitive)

So, besides using Notepad and compiling from command line, is there any way
to import that project in a recent Java IDE?

thanks

Re: How do you develop James?

Posted by Raphael OUAZANA <ra...@linagora.com>.
Le 2019-03-18 18:31, Simon Levesque a écrit :
> Hi Raphael,
> 
> I am using Eclipse IDE 2018‑12 .
> 
>> Once installed the Maven Eclipse plugin, you can safely ignore these
> Maven features.
> I was ignoring them, but the code won't compile, so I cannot run it.

Strange, can you tell us which errors you encounter?
Does the classic Maven/Update Project... (on all projects) solve your 
issue?

>> About old libraries, can you be more precise?
> I am mostly talking about the core platform: Spring 3. Spring 4 is
> available since December 2013 and Spring 5 since September 2017 .
> Also using mostly the Spring XML configuration instead of the
> Java @Configuration annotations.
> 
> This project is the first one I saw using OpenJPA and I saw that Spring 
> 4
> and 5 dropped its support since the industry leaders are Hibernate and
> EclipseLink, so the upgrade might be chaotic, but if JPA was used
> correctly, it should be easy to switch to Hibername or EclipseLink. Are 
> you
> planning on changing the JPA provider?

Good catch. Help is very welcome on these topics.

Regards,
Raphaël.

---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org


Re: How do you develop James?

Posted by Garry Hurley <ga...@gmail.com>.
There is a wealth of old docs out on the web, but finding them and sorting
them out is difficult.  Some pages have not been updated since 3..0b4, and
others are up to date.  The API documentatio, for one, is sadly outdated.
I found that out when I went to configure James 3.x too work with MySQL and
MS SQL Server (yes, I have both working to varying degrees, using the JPA
coonfiguration).  Cassandra, as I painfully found out, is only used for
testing.

If I could make a suggestion, though, rather than PostgreSQL, I would
suggest MySQL/MariaDB.  I have played around with PostgreSQL, so I have no
bad feelings about it, but MySQL and MariaDB are just more commonly
included in Linux distros, and Windows and FreeBSD and MacOS versions are
available (as well as the source if you want to run on Chromium or BeOS -
yeah, I did some work with that when it was new - or any other OS)..


On Tue, Mar 19, 2019 at 7:34 AM Simon Levesque <su...@gmail.com> wrote:

> Thanks all for your answers. I retried to import in Eclipse using M2E.
>
> Discover m2e connectors - Those that cannot be resolved:
> - openjpa-maven-plugin:3.0.0:enhance
> - swagger-maven-plugin:3.1.7:generate
>
> That is showing 191 errors with the following projects in red:
> - apache-james-mailbox-jpa
> - james-server-data-jpa
> - james-server-webadmin-data
> - james-server-webadmin-mailbox
> - james-server-webadmin-mailqueue
> - james-server-webadmin-mailrepository
> - james-server-webadmin-swagger
>
> I guess I could ignore them if I were not trying to debug the JPA
> implementation :)
>
> I recall having to do these class enhancements for JPA a long time ago, but
> not in recent projects (that is why with that need + the old Spring
> library, I felt like that James project was using old tech, but actually,
> you are on the edge on most sub-projects and have some legacy that you do
> not maintain). So maybe switching from OpenJpa to Hibernate would remove
> that enhancement need and make it debuggable. (I could take a look if that
> is something that might be of interest)
>
>
> My other issues were about the documentation:
>
>    - In the Wiki, I turn in round and cannot find any real dev doc.
>       - This morning, I just saw that the project itself had a very big
>       README file, so I will read that and that would be very helpful :)
>    - On the download page (
>
> https://james.apache.org/download.cgi#Apache_James_3.2.0_is_the_stable_version
>    ), as a user
>       - I saw the main application is apache-james-3.2.0-app.zip and is
>       using Spring
>       - Then, there are 2 other flavors using Guice
>       - What I understood from that is that we should be using the Spring
>       one ; not that Spring was in decay :)
>       - Now looking at the readme, the Spring example is in minority and is
>       the last one. That shows what you guys are saying: that Guice is
> the way to
>       go
>
> With all that, is there any place were the roadmap shows:
>
>    - Current suggested tech to use (Guice + Cassandra + ...)
>    - Which parts are in decay (Maybe JDBC (since I remember reading that
>    JPA was recommended over JDBC), JPA, Spring, ...)
>    - Which parts are do much in decay that they should be deprecated and
>    removed later on
>
>
> thanks
>
> On Tue, 19 Mar 2019 at 04:48, Matthieu Baechler <ma...@apache.org>
> wrote:
>
> > Hi Simon,
> >
> > On Mon, 2019-03-18 at 13:31 -0400, Simon Levesque wrote:
> > > Hi Raphael,
> > >
> > > I am using Eclipse IDE 2018‑12 .
> > >
> > > > Once installed the Maven Eclipse plugin, you can safely ignore
> > > > these
> > > Maven features.
> > > I was ignoring them, but the code won't compile, so I cannot run it.
> >
> > Are you sure the warnings are related to your compilation problem?
> >
> > > > About old libraries, can you be more precise?
> > > I am mostly talking about the core platform: Spring 3. Spring 4 is
> > > available since December 2013 and Spring 5 since September 2017 .
> > > Also using mostly the Spring XML configuration instead of the
> > > Java @Configuration annotations.
> >
> > About Spring, most of us prefer Guice DSL over Spring XML or Spring
> > annotations, it's why we invested so much on Guice "products" and we
> > only maintain Spring in its current state.
> >
> > Given the number of technologies used in James, it's almost impossible
> > to have a Spring project where all implementations are available
> > without conflicts between libraries, so the XML strategy used in the
> > past won't scale.
> >
> > > This project is the first one I saw using OpenJPA and I saw that
> > > Spring 4
> > > and 5 dropped its support since the industry leaders are Hibernate
> > > and
> > > EclipseLink, so the upgrade might be chaotic, but if JPA was used
> > > correctly, it should be easy to switch to Hibername or EclipseLink.
> > > Are you
> > > planning on changing the JPA provider?
> >
> > Last years we worked on the distributed James implementation
> > (Cassandra, Elasticsearch, RabbitMQ). We didn't worked much on RDBMS
> > implementation.
> > There are better JPA implementation, of course, and if you want to work
> > on this, you are welcome. For now, we don't really have customers that
> > requires RDBMS deployments so we probably won't invest on that in the
> > near future.
> > By the way, I personally think that if we were to use a RDBMS, we would
> > implement a Postgresql specific backend instead of using an
> > abstraction. It would allo to implement all required storage backends
> > (including complex search), use a reactive driver with great
> > performance while targeting a very good RDBMS system.
> >
> > If someone feels brave enough to give it a try, I would do the
> > mentorship with great pleasure.
> >
> > Cheers,
> >
> > --
> > Matthieu Baechler
> >
> >
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
> > For additional commands, e-mail: server-dev-help@james.apache.org
> >
> >
>

Re: How do you develop James?

Posted by Simon Levesque <su...@gmail.com>.
Thanks all for your answers. I retried to import in Eclipse using M2E.

Discover m2e connectors - Those that cannot be resolved:
- openjpa-maven-plugin:3.0.0:enhance
- swagger-maven-plugin:3.1.7:generate

That is showing 191 errors with the following projects in red:
- apache-james-mailbox-jpa
- james-server-data-jpa
- james-server-webadmin-data
- james-server-webadmin-mailbox
- james-server-webadmin-mailqueue
- james-server-webadmin-mailrepository
- james-server-webadmin-swagger

I guess I could ignore them if I were not trying to debug the JPA
implementation :)

I recall having to do these class enhancements for JPA a long time ago, but
not in recent projects (that is why with that need + the old Spring
library, I felt like that James project was using old tech, but actually,
you are on the edge on most sub-projects and have some legacy that you do
not maintain). So maybe switching from OpenJpa to Hibernate would remove
that enhancement need and make it debuggable. (I could take a look if that
is something that might be of interest)


My other issues were about the documentation:

   - In the Wiki, I turn in round and cannot find any real dev doc.
      - This morning, I just saw that the project itself had a very big
      README file, so I will read that and that would be very helpful :)
   - On the download page (
   https://james.apache.org/download.cgi#Apache_James_3.2.0_is_the_stable_version
   ), as a user
      - I saw the main application is apache-james-3.2.0-app.zip and is
      using Spring
      - Then, there are 2 other flavors using Guice
      - What I understood from that is that we should be using the Spring
      one ; not that Spring was in decay :)
      - Now looking at the readme, the Spring example is in minority and is
      the last one. That shows what you guys are saying: that Guice is
the way to
      go

With all that, is there any place were the roadmap shows:

   - Current suggested tech to use (Guice + Cassandra + ...)
   - Which parts are in decay (Maybe JDBC (since I remember reading that
   JPA was recommended over JDBC), JPA, Spring, ...)
   - Which parts are do much in decay that they should be deprecated and
   removed later on


thanks

On Tue, 19 Mar 2019 at 04:48, Matthieu Baechler <ma...@apache.org> wrote:

> Hi Simon,
>
> On Mon, 2019-03-18 at 13:31 -0400, Simon Levesque wrote:
> > Hi Raphael,
> >
> > I am using Eclipse IDE 2018‑12 .
> >
> > > Once installed the Maven Eclipse plugin, you can safely ignore
> > > these
> > Maven features.
> > I was ignoring them, but the code won't compile, so I cannot run it.
>
> Are you sure the warnings are related to your compilation problem?
>
> > > About old libraries, can you be more precise?
> > I am mostly talking about the core platform: Spring 3. Spring 4 is
> > available since December 2013 and Spring 5 since September 2017 .
> > Also using mostly the Spring XML configuration instead of the
> > Java @Configuration annotations.
>
> About Spring, most of us prefer Guice DSL over Spring XML or Spring
> annotations, it's why we invested so much on Guice "products" and we
> only maintain Spring in its current state.
>
> Given the number of technologies used in James, it's almost impossible
> to have a Spring project where all implementations are available
> without conflicts between libraries, so the XML strategy used in the
> past won't scale.
>
> > This project is the first one I saw using OpenJPA and I saw that
> > Spring 4
> > and 5 dropped its support since the industry leaders are Hibernate
> > and
> > EclipseLink, so the upgrade might be chaotic, but if JPA was used
> > correctly, it should be easy to switch to Hibername or EclipseLink.
> > Are you
> > planning on changing the JPA provider?
>
> Last years we worked on the distributed James implementation
> (Cassandra, Elasticsearch, RabbitMQ). We didn't worked much on RDBMS
> implementation.
> There are better JPA implementation, of course, and if you want to work
> on this, you are welcome. For now, we don't really have customers that
> requires RDBMS deployments so we probably won't invest on that in the
> near future.
> By the way, I personally think that if we were to use a RDBMS, we would
> implement a Postgresql specific backend instead of using an
> abstraction. It would allo to implement all required storage backends
> (including complex search), use a reactive driver with great
> performance while targeting a very good RDBMS system.
>
> If someone feels brave enough to give it a try, I would do the
> mentorship with great pleasure.
>
> Cheers,
>
> --
> Matthieu Baechler
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
> For additional commands, e-mail: server-dev-help@james.apache.org
>
>

Re: How do you develop James?

Posted by Matthieu Baechler <ma...@apache.org>.
Hi Simon,

On Mon, 2019-03-18 at 13:31 -0400, Simon Levesque wrote:
> Hi Raphael,
> 
> I am using Eclipse IDE 2018‑12 .
> 
> > Once installed the Maven Eclipse plugin, you can safely ignore
> > these
> Maven features.
> I was ignoring them, but the code won't compile, so I cannot run it.

Are you sure the warnings are related to your compilation problem?

> > About old libraries, can you be more precise?
> I am mostly talking about the core platform: Spring 3. Spring 4 is
> available since December 2013 and Spring 5 since September 2017 .
> Also using mostly the Spring XML configuration instead of the
> Java @Configuration annotations.

About Spring, most of us prefer Guice DSL over Spring XML or Spring
annotations, it's why we invested so much on Guice "products" and we
only maintain Spring in its current state.

Given the number of technologies used in James, it's almost impossible
to have a Spring project where all implementations are available
without conflicts between libraries, so the XML strategy used in the
past won't scale.

> This project is the first one I saw using OpenJPA and I saw that
> Spring 4
> and 5 dropped its support since the industry leaders are Hibernate
> and
> EclipseLink, so the upgrade might be chaotic, but if JPA was used
> correctly, it should be easy to switch to Hibername or EclipseLink.
> Are you
> planning on changing the JPA provider?

Last years we worked on the distributed James implementation
(Cassandra, Elasticsearch, RabbitMQ). We didn't worked much on RDBMS
implementation.
There are better JPA implementation, of course, and if you want to work
on this, you are welcome. For now, we don't really have customers that
requires RDBMS deployments so we probably won't invest on that in the
near future.
By the way, I personally think that if we were to use a RDBMS, we would
implement a Postgresql specific backend instead of using an
abstraction. It would allo to implement all required storage backends
(including complex search), use a reactive driver with great
performance while targeting a very good RDBMS system.

If someone feels brave enough to give it a try, I would do the
mentorship with great pleasure.

Cheers,

-- 
Matthieu Baechler


---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org


Re: How do you develop James?

Posted by Simon Levesque <su...@gmail.com>.
Hi Raphael,

I am using Eclipse IDE 2018‑12 .

> Once installed the Maven Eclipse plugin, you can safely ignore these
Maven features.
I was ignoring them, but the code won't compile, so I cannot run it.

> About old libraries, can you be more precise?
I am mostly talking about the core platform: Spring 3. Spring 4 is
available since December 2013 and Spring 5 since September 2017 .
Also using mostly the Spring XML configuration instead of the
Java @Configuration annotations.

This project is the first one I saw using OpenJPA and I saw that Spring 4
and 5 dropped its support since the industry leaders are Hibernate and
EclipseLink, so the upgrade might be chaotic, but if JPA was used
correctly, it should be easy to switch to Hibername or EclipseLink. Are you
planning on changing the JPA provider?

Re: How do you develop James?

Posted by Raphael OUAZANA <ra...@linagora.com>.
Hi,

Le 2019-03-14 21:13, Simon Levesque a écrit :
> Hi Vincent,
> 
> what you are suggesting is the #1 in the things I tried and as I said,
> Eclipse complains about some Maven features that are not available and 
> the
> builds are failing.

Once installed the Maven Eclipse plugin, you can safely ignore these 
Maven features.

> So, that is not working. Do you use a recent Eclipse (which I do) or a 
> very
> old (like the used libraries in James)?

I'm using Eclipse Photon without any issue. I would not consider it as 
old.
I must confess that I'm not often using JPA implementation, so your 
mileage may vary.

About old libraries, can you be more precise? Many libraries are up to 
date (at least < 1 year). Of course any help on updating them is 
welcome!

Regards,
Raphaël.

---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org


Re: How do you develop James?

Posted by Simon Levesque <su...@gmail.com>.
Hi Vincent,

what you are suggesting is the #1 in the things I tried and as I said,
Eclipse complains about some Maven features that are not available and the
builds are failing.

So, that is not working. Do you use a recent Eclipse (which I do) or a very
old (like the used libraries in James)?

On Thu, 14 Mar 2019 at 08:37, Vincent Pang <vi...@gmail.com> wrote:

> Hi Simon,
> You should use maven to build. The easiest way is to use Eclipse or
> NetBeans to import maven project directly and choose projects you want
> to debug in your IDE.
> It is easy to build these projects by maven.
>
> Vincent
>
> On Thu, Mar 14, 2019 at 8:19 AM Simon Levesque <su...@gmail.com> wrote:
> >
> > Hi all,
> >
> > I spend a lots of days trying to set up an environment to run James in an
> > IDE to be able to debug and fix things, but I didn't succeed.
> >
> >    1. Import James in Eclipse
> >       1. Eclipse is complaining that there are Maven features that are
> not
> >       supported
> >       2. Some projects do not compile (I guess because of previous point)
> >    2. Import in Intellij
> >       1. No complains
> >       2. When trying to start, build errors due to missing imports
> >    3. Start a fresh Java application, depend on the James libraries
> >       1. I made it start like the main James spring application you have
> >       2. It is starting, the database gets the tables
> >       3. Then, OpenJPA is trying to get a javax transaction manager via
> >       JNDI and complains that JNDI is not initialized
> >          1. Even in Spring, there is no javax transaction manager
> >          2. If I try to configure JNDI to use any of the 2
> implementations
> >          I found in the classpath (ActiveMQ and Camel), both are fine,
> but
> >          complainings they don't know about the "java" namespace
> >          3. In James code, I cannot find anywhere you actually configure
> >          JNDI by searching "jndi" (case insensitive)
> >
> > So, besides using Notepad and compiling from command line, is there any
> way
> > to import that project in a recent Java IDE?
> >
> > thanks
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
> For additional commands, e-mail: server-dev-help@james.apache.org
>
>

Re: How do you develop James?

Posted by wei jiang <bu...@hotmail.com>.
Anyone knows why Outlook does not call the "deleteMailbox(MailboxPath, MailboxSession)" function in the MailboxManager class?

Get Outlook for Android<https://aka.ms/ghei36>

________________________________
From: Garry Hurley <ga...@gmail.com>
Sent: Thursday, March 14, 2019 7:25:49 AM
To: James Developers List
Subject: Re: How do you develop James?

Vincent you are absolutely right. One additional note I found: if you are running eclipse on Windows, pretty much forget about using it to compile the code, even with the maven plugin. the m2e plugin in the latest version of eclipse really sucks. Go and get maven for Windows. The latest version of source does compile with mvn -DskipTests=true install
You can use other options, but to get an installable version, that is what I do. If you have a Linux system handy, just build there and use the remoteSystemExplorer in eclipse to view and edit the source code. That way you don’t have to spend hours configuring your build tools in Windows and dealing with the docker images (which are only for testing anyhow).

Sent from my iPhone

> On Mar 14, 2019, at 8:37 AM, Vincent Pang <vi...@gmail.com> wrote:
>
> Hi Simon,
> You should use maven to build. The easiest way is to use Eclipse or
> NetBeans to import maven project directly and choose projects you want
> to debug in your IDE.
> It is easy to build these projects by maven.
>
> Vincent
>
>> On Thu, Mar 14, 2019 at 8:19 AM Simon Levesque <su...@gmail.com> wrote:
>>
>> Hi all,
>>
>> I spend a lots of days trying to set up an environment to run James in an
>> IDE to be able to debug and fix things, but I didn't succeed.
>>
>>   1. Import James in Eclipse
>>      1. Eclipse is complaining that there are Maven features that are not
>>      supported
>>      2. Some projects do not compile (I guess because of previous point)
>>   2. Import in Intellij
>>      1. No complains
>>      2. When trying to start, build errors due to missing imports
>>   3. Start a fresh Java application, depend on the James libraries
>>      1. I made it start like the main James spring application you have
>>      2. It is starting, the database gets the tables
>>      3. Then, OpenJPA is trying to get a javax transaction manager via
>>      JNDI and complains that JNDI is not initialized
>>         1. Even in Spring, there is no javax transaction manager
>>         2. If I try to configure JNDI to use any of the 2 implementations
>>         I found in the classpath (ActiveMQ and Camel), both are fine, but
>>         complainings they don't know about the "java" namespace
>>         3. In James code, I cannot find anywhere you actually configure
>>         JNDI by searching "jndi" (case insensitive)
>>
>> So, besides using Notepad and compiling from command line, is there any way
>> to import that project in a recent Java IDE?
>>
>> thanks
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
> For additional commands, e-mail: server-dev-help@james.apache.org
>

---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org


Re: How do you develop James?

Posted by Simon Levesque <su...@gmail.com>.
I just recalled that maven itself is able to generate generic Eclipse
project files. So instead of using the Maven Eclipse plugin, I

   - removed the projects from Eclipse
   - did the "git clean" with -d and -x to clear all files and directories
   that are not in the git repository
   - ran "mvn eclipse:eclipse"
      - some folders were missing. I created them with

find -type f | grep .project | grep -v .git > _pf

for pf in $(cat _pf); do

 base=$(dirname $pf)

 mkdir -p $base/src/main/java $base/src/test/java $base/src/main/resources
$base/src/test/resources

done

rm _pf


   - then, ran again "mvn eclipse:eclipse"
   - Imported all these porjects as normal Eclipse projects ; not using the
   maven pluging at all

After doing that, I still got a few projects not building, but I don't
think I need those.
I also tried running the unit tests in Eclipse for "james-server-data-jpa",
but that is failing because it is expecting a post process on it (*This
configuration disallows runtime optimization, but the following listed
types were not enhanced at build time or at class load time with a
javaagent: "org.apache.james.domainlist.jpa.model.JPADomain*), so I will
have to run them from outside Eclipse.



On Thu, 14 Mar 2019 at 16:15, Simon Levesque <si...@simonlevesque.com>
wrote:

> Hi Garry,
>
> I only use Linux and m2e pluging is complaining.
>
> On Thu, 14 Mar 2019 at 09:25, Garry Hurley <ga...@gmail.com>
> wrote:
>
>> Vincent you are absolutely right. One additional note I found: if you are
>> running eclipse on Windows, pretty much forget about using it to compile
>> the code, even with the maven plugin. the m2e plugin in the latest version
>> of eclipse really sucks. Go and get maven for Windows. The latest version
>> of source does compile with mvn -DskipTests=true install
>> You can use other options, but to get an installable version, that is
>> what I do. If you have a Linux system handy, just build there and use the
>> remoteSystemExplorer in eclipse to view and edit the source code. That way
>> you don’t have to spend hours configuring your build tools in Windows and
>> dealing with the docker images (which are only for testing anyhow).
>>
>> Sent from my iPhone
>>
>> > On Mar 14, 2019, at 8:37 AM, Vincent Pang <vi...@gmail.com>
>> wrote:
>> >
>> > Hi Simon,
>> > You should use maven to build. The easiest way is to use Eclipse or
>> > NetBeans to import maven project directly and choose projects you want
>> > to debug in your IDE.
>> > It is easy to build these projects by maven.
>> >
>> > Vincent
>> >
>> >> On Thu, Mar 14, 2019 at 8:19 AM Simon Levesque <su...@gmail.com>
>> wrote:
>> >>
>> >> Hi all,
>> >>
>> >> I spend a lots of days trying to set up an environment to run James in
>> an
>> >> IDE to be able to debug and fix things, but I didn't succeed.
>> >>
>> >>   1. Import James in Eclipse
>> >>      1. Eclipse is complaining that there are Maven features that are
>> not
>> >>      supported
>> >>      2. Some projects do not compile (I guess because of previous
>> point)
>> >>   2. Import in Intellij
>> >>      1. No complains
>> >>      2. When trying to start, build errors due to missing imports
>> >>   3. Start a fresh Java application, depend on the James libraries
>> >>      1. I made it start like the main James spring application you have
>> >>      2. It is starting, the database gets the tables
>> >>      3. Then, OpenJPA is trying to get a javax transaction manager via
>> >>      JNDI and complains that JNDI is not initialized
>> >>         1. Even in Spring, there is no javax transaction manager
>> >>         2. If I try to configure JNDI to use any of the 2
>> implementations
>> >>         I found in the classpath (ActiveMQ and Camel), both are fine,
>> but
>> >>         complainings they don't know about the "java" namespace
>> >>         3. In James code, I cannot find anywhere you actually configure
>> >>         JNDI by searching "jndi" (case insensitive)
>> >>
>> >> So, besides using Notepad and compiling from command line, is there
>> any way
>> >> to import that project in a recent Java IDE?
>> >>
>> >> thanks
>> >
>> > ---------------------------------------------------------------------
>> > To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
>> > For additional commands, e-mail: server-dev-help@james.apache.org
>> >
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
>> For additional commands, e-mail: server-dev-help@james.apache.org
>>
>>

Re: How do you develop James?

Posted by Simon Levesque <si...@simonlevesque.com>.
Hi Garry,

I only use Linux and m2e pluging is complaining.

On Thu, 14 Mar 2019 at 09:25, Garry Hurley <ga...@gmail.com>
wrote:

> Vincent you are absolutely right. One additional note I found: if you are
> running eclipse on Windows, pretty much forget about using it to compile
> the code, even with the maven plugin. the m2e plugin in the latest version
> of eclipse really sucks. Go and get maven for Windows. The latest version
> of source does compile with mvn -DskipTests=true install
> You can use other options, but to get an installable version, that is what
> I do. If you have a Linux system handy, just build there and use the
> remoteSystemExplorer in eclipse to view and edit the source code. That way
> you don’t have to spend hours configuring your build tools in Windows and
> dealing with the docker images (which are only for testing anyhow).
>
> Sent from my iPhone
>
> > On Mar 14, 2019, at 8:37 AM, Vincent Pang <vi...@gmail.com>
> wrote:
> >
> > Hi Simon,
> > You should use maven to build. The easiest way is to use Eclipse or
> > NetBeans to import maven project directly and choose projects you want
> > to debug in your IDE.
> > It is easy to build these projects by maven.
> >
> > Vincent
> >
> >> On Thu, Mar 14, 2019 at 8:19 AM Simon Levesque <su...@gmail.com>
> wrote:
> >>
> >> Hi all,
> >>
> >> I spend a lots of days trying to set up an environment to run James in
> an
> >> IDE to be able to debug and fix things, but I didn't succeed.
> >>
> >>   1. Import James in Eclipse
> >>      1. Eclipse is complaining that there are Maven features that are
> not
> >>      supported
> >>      2. Some projects do not compile (I guess because of previous point)
> >>   2. Import in Intellij
> >>      1. No complains
> >>      2. When trying to start, build errors due to missing imports
> >>   3. Start a fresh Java application, depend on the James libraries
> >>      1. I made it start like the main James spring application you have
> >>      2. It is starting, the database gets the tables
> >>      3. Then, OpenJPA is trying to get a javax transaction manager via
> >>      JNDI and complains that JNDI is not initialized
> >>         1. Even in Spring, there is no javax transaction manager
> >>         2. If I try to configure JNDI to use any of the 2
> implementations
> >>         I found in the classpath (ActiveMQ and Camel), both are fine,
> but
> >>         complainings they don't know about the "java" namespace
> >>         3. In James code, I cannot find anywhere you actually configure
> >>         JNDI by searching "jndi" (case insensitive)
> >>
> >> So, besides using Notepad and compiling from command line, is there any
> way
> >> to import that project in a recent Java IDE?
> >>
> >> thanks
> >
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
> > For additional commands, e-mail: server-dev-help@james.apache.org
> >
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
> For additional commands, e-mail: server-dev-help@james.apache.org
>
>

Re: How do you develop James?

Posted by Garry Hurley <ga...@gmail.com>.
Vincent you are absolutely right. One additional note I found: if you are running eclipse on Windows, pretty much forget about using it to compile the code, even with the maven plugin. the m2e plugin in the latest version of eclipse really sucks. Go and get maven for Windows. The latest version of source does compile with mvn -DskipTests=true install
You can use other options, but to get an installable version, that is what I do. If you have a Linux system handy, just build there and use the remoteSystemExplorer in eclipse to view and edit the source code. That way you don’t have to spend hours configuring your build tools in Windows and dealing with the docker images (which are only for testing anyhow). 

Sent from my iPhone

> On Mar 14, 2019, at 8:37 AM, Vincent Pang <vi...@gmail.com> wrote:
> 
> Hi Simon,
> You should use maven to build. The easiest way is to use Eclipse or
> NetBeans to import maven project directly and choose projects you want
> to debug in your IDE.
> It is easy to build these projects by maven.
> 
> Vincent
> 
>> On Thu, Mar 14, 2019 at 8:19 AM Simon Levesque <su...@gmail.com> wrote:
>> 
>> Hi all,
>> 
>> I spend a lots of days trying to set up an environment to run James in an
>> IDE to be able to debug and fix things, but I didn't succeed.
>> 
>>   1. Import James in Eclipse
>>      1. Eclipse is complaining that there are Maven features that are not
>>      supported
>>      2. Some projects do not compile (I guess because of previous point)
>>   2. Import in Intellij
>>      1. No complains
>>      2. When trying to start, build errors due to missing imports
>>   3. Start a fresh Java application, depend on the James libraries
>>      1. I made it start like the main James spring application you have
>>      2. It is starting, the database gets the tables
>>      3. Then, OpenJPA is trying to get a javax transaction manager via
>>      JNDI and complains that JNDI is not initialized
>>         1. Even in Spring, there is no javax transaction manager
>>         2. If I try to configure JNDI to use any of the 2 implementations
>>         I found in the classpath (ActiveMQ and Camel), both are fine, but
>>         complainings they don't know about the "java" namespace
>>         3. In James code, I cannot find anywhere you actually configure
>>         JNDI by searching "jndi" (case insensitive)
>> 
>> So, besides using Notepad and compiling from command line, is there any way
>> to import that project in a recent Java IDE?
>> 
>> thanks
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
> For additional commands, e-mail: server-dev-help@james.apache.org
> 

---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org


Re: How do you develop James?

Posted by Vincent Pang <vi...@gmail.com>.
Hi Simon,
You should use maven to build. The easiest way is to use Eclipse or
NetBeans to import maven project directly and choose projects you want
to debug in your IDE.
It is easy to build these projects by maven.

Vincent

On Thu, Mar 14, 2019 at 8:19 AM Simon Levesque <su...@gmail.com> wrote:
>
> Hi all,
>
> I spend a lots of days trying to set up an environment to run James in an
> IDE to be able to debug and fix things, but I didn't succeed.
>
>    1. Import James in Eclipse
>       1. Eclipse is complaining that there are Maven features that are not
>       supported
>       2. Some projects do not compile (I guess because of previous point)
>    2. Import in Intellij
>       1. No complains
>       2. When trying to start, build errors due to missing imports
>    3. Start a fresh Java application, depend on the James libraries
>       1. I made it start like the main James spring application you have
>       2. It is starting, the database gets the tables
>       3. Then, OpenJPA is trying to get a javax transaction manager via
>       JNDI and complains that JNDI is not initialized
>          1. Even in Spring, there is no javax transaction manager
>          2. If I try to configure JNDI to use any of the 2 implementations
>          I found in the classpath (ActiveMQ and Camel), both are fine, but
>          complainings they don't know about the "java" namespace
>          3. In James code, I cannot find anywhere you actually configure
>          JNDI by searching "jndi" (case insensitive)
>
> So, besides using Notepad and compiling from command line, is there any way
> to import that project in a recent Java IDE?
>
> thanks

---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org