Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [m2e-dev] maven installation support rework

Can you update to m2e 1.5.0.20140423-2123 and see if it works better?

http://git.eclipse.org/c/m2e/m2e-core.git/commit/?id=79864201cd3ccad476fb148748ef5ef5ad6f4ec9

--
Regards,
Igor

On 2014-04-24, 4:52, Marcel Schutte wrote:
Hi Igor,

I've done some testing with Kepler SR1 and M2E 1.5.0.20140423-1440. My
local repository location and nexus repository and mirror setup are
picked up nicely: artifact download and workspace build work correctly.

There is however a problem with the run as maven actions: run as/maven
install produces an error dialog like this (I hope the embedded images
come through on the mailing list):

Inline image 1

with the following on the workspace .log:

!ENTRY org.eclipse.m2e.launching 4 -1 2014-04-24 10:23:54.790
!MESSAGE Can't find Maven installation

And 'run as/maven build ....' fails silently inside eclipse but produces
the following on the workspace .log:

!ENTRY org.eclipse.ui 4 0 2014-04-24 10:45:21.704
!MESSAGE Unhandled event loop exception
!STACK 0
java.lang.IllegalArgumentException: Argument cannot be null
at org.eclipse.swt.SWT.error(SWT.java:4378)
at org.eclipse.swt.SWT.error(SWT.java:4312)
at org.eclipse.swt.SWT.error(SWT.java:4283)
at org.eclipse.swt.widgets.Widget.error(Widget.java:472)
at org.eclipse.swt.widgets.Text.setMessage(Text.java:2029)
at
org.eclipse.m2e.ui.internal.launch.MavenLaunchMainTab.initializeFrom(MavenLaunchMainTab.java:499)
at
org.eclipse.debug.ui.AbstractLaunchConfigurationTabGroup.initializeFrom(AbstractLaunchConfigurationTabGroup.java:86)
at
org.eclipse.debug.internal.ui.launchConfigurations.LaunchConfigurationTabGroupWrapper.initializeFrom(LaunchConfigurationTabGroupWrapper.java:194)
at
org.eclipse.debug.internal.ui.launchConfigurations.LaunchConfigurationTabGroupViewer.displayInstanceTabs(LaunchConfigurationTabGroupViewer.java:755)
at
org.eclipse.debug.internal.ui.launchConfigurations.LaunchConfigurationTabGroupViewer$8.run(LaunchConfigurationTabGroupViewer.java:626)
at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:70)
at
org.eclipse.debug.internal.ui.launchConfigurations.LaunchConfigurationTabGroupViewer.inputChanged(LaunchConfigurationTabGroupViewer.java:643)
at
org.eclipse.debug.internal.ui.launchConfigurations.LaunchConfigurationTabGroupViewer.setInput0(LaunchConfigurationTabGroupViewer.java:605)
at
org.eclipse.debug.internal.ui.launchConfigurations.LaunchConfigurationTabGroupViewer.setInput(LaunchConfigurationTabGroupViewer.java:581)
at
org.eclipse.debug.internal.ui.launchConfigurations.LaunchConfigurationPropertiesDialog.initializeContent(LaunchConfigurationPropertiesDialog.java:102)
at
org.eclipse.debug.internal.ui.launchConfigurations.LaunchConfigurationsDialog.createContents(LaunchConfigurationsDialog.java:439)
at org.eclipse.jface.window.Window.create(Window.java:432)
at org.eclipse.jface.dialogs.Dialog.create(Dialog.java:1104)
at
org.eclipse.debug.internal.ui.launchConfigurations.LaunchConfigurationsDialog.create(LaunchConfigurationsDialog.java:370)
at org.eclipse.jface.window.Window.open(Window.java:791)
at
org.eclipse.debug.internal.ui.launchConfigurations.LaunchConfigurationsDialog.open(LaunchConfigurationsDialog.java:1134)
at
org.eclipse.debug.internal.ui.launchConfigurations.LaunchConfigurationPropertiesDialog.open(LaunchConfigurationPropertiesDialog.java:203)
at
org.eclipse.debug.ui.DebugUITools.openLaunchConfigurationDialog(DebugUITools.java:687)
at
org.eclipse.m2e.actions.ExecutePomAction.launch(ExecutePomAction.java:157)
at
org.eclipse.m2e.actions.ExecutePomAction.launch(ExecutePomAction.java:127)
at
org.eclipse.debug.internal.ui.launchConfigurations.LaunchShortcutExtension.launch(LaunchShortcutExtension.java:434)
at
org.eclipse.debug.internal.ui.actions.LaunchShortcutAction.run(LaunchShortcutAction.java:73)
at
org.eclipse.debug.internal.ui.actions.LaunchShortcutAction.runWithEvent(LaunchShortcutAction.java:121)
at
org.eclipse.jface.action.ActionContributionItem.handleWidgetSelection(ActionContributionItem.java:584)
at
org.eclipse.jface.action.ActionContributionItem.access$2(ActionContributionItem.java:501)
at
org.eclipse.jface.action.ActionContributionItem$5.handleEvent(ActionContributionItem.java:411)
at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1057)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1081)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1066)
at org.eclipse.swt.widgets.Widget.notifyListeners(Widget.java:778)
at
org.eclipse.jface.action.ActionContributionItem$9.handleEvent(ActionContributionItem.java:1284)
at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1057)
at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:4170)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3759)
at
org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$9.run(PartRenderingEngine.java:1113)
at
org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
at
org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:997)
at
org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:138)
at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:610)
at
org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
at
org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:567)
at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:150)
at
org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:124)
at
org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)
at
org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:110)
at
org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:79)
at
org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:354)
at
org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:181)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:60)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:37)
at java.lang.reflect.Method.invoke(Method.java:611)
at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:636)
at org.eclipse.equinox.launcher.Main.basicRun(Main.java:591)
at org.eclipse.equinox.launcher.Main.run(Main.java:1450)
at org.eclipse.equinox.launcher.Main.main(Main.java:1426)

My 'maven/installations' preference page looks like this:

Inline image 2

It doesn't change anything in the errors if I switch to the EMBEDDED
installation.

Is there some other information I can provide to help you in pinpointing
this problem?

Regards, Marcel


On Wed, Apr 23, 2014 at 4:40 PM, Igor Fedorenko <igor@xxxxxxxxxxxxxx
<mailto:igor@xxxxxxxxxxxxxx>> wrote:

    I've exposed global settings.xml location in m2e preferences. Existing
    configuration should be preserved when upgrading from 1.4, but the value
    is not licked to selected/default maven installation.

    I don't use global settings.xml myself, so I did only very basic testing
    of the UI. Let me know if this approach works for you and/or if I broke
    anything ;-)

    --
    Regards,
    Igor


    On 2014-04-22, 11:04, Marcel Schutte wrote:

        On Tue, Apr 22, 2014 at 4:52 PM, Igor Fedorenko
        <igor@xxxxxxxxxxxxxx <mailto:igor@xxxxxxxxxxxxxx>
        <mailto:igor@xxxxxxxxxxxxxx <mailto:igor@xxxxxxxxxxxxxx>>> wrote:



             On 2014-04-22, 10:41, Marcel Schutte wrote:

                 Hi Igor,

                 I will surely test with your 1.5 SNAPSHOT (but can't do
        that at work
                 because of the non standard http port, sigh).

                 However, as I described, we only configure our nexus in
        the global
                 settings.xml and m2e can resolve its content fine. The
        'maven
                 repositories' view also shows both our repository and
        mirror
                 config, so
                 I think that m2e must be using these items.


             I think you are right, global settings.xml is used during
        artifact
             resolution too. I still don't think coupling default Maven
        installation
             used to RunAs-MavenBuild and global settings.xml used by
        m2e is a good
             idea. I'll add explicit global settings.xml to m2e
        preferences instead.

        https://bugs.eclipse.org/bugs/____show_bug.cgi?id=433224
        <https://bugs.eclipse.org/bugs/__show_bug.cgi?id=433224>

             <https://bugs.eclipse.org/__bugs/show_bug.cgi?id=433224
        <https://bugs.eclipse.org/bugs/show_bug.cgi?id=433224>>


        This would work for me.


                 In your original mail you wrote that calculation of the
        location
                 of the
                 local maven repository didn't make much sense. Can you
        explain
                 what you
                 mean there? For us it makes good sense to place the local
                 repository at
                 a non default location, because of windows profile
                 synchronisation in
                 our domain (imagine your local repository being backup
        up on every
                 windows logon/logoff)


             Do you configure local repository location in global
        settings.xml?


        Yes, we do. Our development team uses a highly standardized
        setup with
        default tool locations and indeed a default local repository
        location.


             --
             Regards,
             Igor


                 Regards, Marcel


                 On Tue, Apr 22, 2014 at 4:20 PM, Igor Fedorenko
                 <igor@xxxxxxxxxxxxxx <mailto:igor@xxxxxxxxxxxxxx>
        <mailto:igor@xxxxxxxxxxxxxx <mailto:igor@xxxxxxxxxxxxxx>>
                 <mailto:igor@xxxxxxxxxxxxxx
        <mailto:igor@xxxxxxxxxxxxxx> <mailto:igor@xxxxxxxxxxxxxx
        <mailto:igor@xxxxxxxxxxxxxx>>>> wrote:

                      Unless I am missing something (which is possible)
        m2e only read

          <default_maven_installation>/______conf/settings.xml when it

                 calculated

                      local
                      repository path. I removed this logic from m2e. Local
                 repository
                      location only depends on user settings.xml now.

                      <maven_installation>/conf/______settings.xml was
        also used by

                 maven during

                      RunAs->MavenBuild. This is part of standard maven
        behaviour
                 and is not
                      affected.

                      Latest m2e 1.5 snapshot can be installed from [1],
        give it
                 a try and let
                      me know if this change causes problems in your
        environment.
                 You probably
                      want to test with fresh/clean workspace, m2e
        preferences
                 format changed
                      and m2e 1.4 will not be able to read installation
                 configuration from 1.5
                      workspace (1.5 can read 1.4 preferences).


                      [1]


        http://repository.takari.io:______8081/nexus/content/sites/__m2e.____extras/m2e/1.5.0/N/__LATEST/




        <http://repository.takari.io:____8081/nexus/content/sites/m2e.____extras/m2e/1.5.0/N/LATEST/

        <http://repository.takari.io:__8081/nexus/content/sites/m2e.__extras/m2e/1.5.0/N/LATEST/
        <http://repository.takari.io:8081/nexus/content/sites/m2e.extras/m2e/1.5.0/N/LATEST/>>>

                      --
                      Regards,
                      Igor




                      On 2014-04-22, 10:11, Marcel Schutte wrote:

                          Hi Igor,

                          It depends on what you mean by 'removed
        support for
                 global user
                          settings.xml': did you just remove the path
        and open
                 file preference
                          elements, or won't m2e be reading the
                          <maven_installation>/conf/______settings.xml
        anymore?



                          The latter would be a problem for us: we have
                 standardized maven
                          installation packages where the global
        settings.xml
                 contains the
                          (non
                          standard) path to the local repository and
        also the
                 mirror and
                          repository setup for our nexus instance.

                          In doing this, our user settings.xml can be a
        minimal
                 setup with
                          just a
                          source control username and one or two properties
                 containing paths.

                          Regards,
                          Marcel


                          On Tue, Apr 22, 2014 at 3:53 PM, Igor Fedorenko
                          <igor@xxxxxxxxxxxxxx
        <mailto:igor@xxxxxxxxxxxxxx> <mailto:igor@xxxxxxxxxxxxxx
        <mailto:igor@xxxxxxxxxxxxxx>>
                 <mailto:igor@xxxxxxxxxxxxxx
        <mailto:igor@xxxxxxxxxxxxxx> <mailto:igor@xxxxxxxxxxxxxx
        <mailto:igor@xxxxxxxxxxxxxx>>>
                          <mailto:igor@xxxxxxxxxxxxxx
        <mailto:igor@xxxxxxxxxxxxxx>
                 <mailto:igor@xxxxxxxxxxxxxx
        <mailto:igor@xxxxxxxxxxxxxx>> <mailto:igor@xxxxxxxxxxxxxx
        <mailto:igor@xxxxxxxxxxxxxx>
                 <mailto:igor@xxxxxxxxxxxxxx
        <mailto:igor@xxxxxxxxxxxxxx>>>>__> wrote:

                               I've just pushed relatively big rework of
        how m2e
                 handles Maven
                               installations. The core of this change is
        to give
                          installations logical
                               names and make it possible to configure
        individual
                          installations.
                               Currently only custom core extensions can be
                 configured
                          (something I
                               needed for my maven core development
        work), but we
                 can add
                          things like
                               default parameters relatively easily now.

                               Using runtime names also makes launch
                 configuration little
                          easier to
                               share. Different developers still need to
        manually
                          configure maven
                               installations used by shared launch
                 configurations, but at
                          least these
                               runtimes do not have to be installed at
        exactly
                 the same
                          location on all
                               development machines.

                               Somewhat controversially, I removed
        support for
                 global user
                          settings.xml
                               file. It was only used to calculate
        location of
                 maven local
                          repository,
                               which didn't make much sense, and it was
        getting
                 in the way
                          of the
                               changes I needed to make to the maven
        installation
                 ui. I do
                          not believe
                               anyone is affected by this, but let me
        know if I
                 missed a
                          usecase and
                               we'll figure out how to bring this back.

                               --
                               Regards,
                               Igor

        _______________________________________________________


                               m2e-dev mailing list
        m2e-dev@xxxxxxxxxxx <mailto:m2e-dev@xxxxxxxxxxx>
        <mailto:m2e-dev@xxxxxxxxxxx <mailto:m2e-dev@xxxxxxxxxxx>>
                 <mailto:m2e-dev@xxxxxxxxxxx
        <mailto:m2e-dev@xxxxxxxxxxx> <mailto:m2e-dev@xxxxxxxxxxx
        <mailto:m2e-dev@xxxxxxxxxxx>>>
                          <mailto:m2e-dev@xxxxxxxxxxx
        <mailto:m2e-dev@xxxxxxxxxxx>
                 <mailto:m2e-dev@xxxxxxxxxxx
        <mailto:m2e-dev@xxxxxxxxxxx>> <mailto:m2e-dev@xxxxxxxxxxx
        <mailto:m2e-dev@xxxxxxxxxxx>
                 <mailto:m2e-dev@xxxxxxxxxxx <mailto:m2e-dev@xxxxxxxxxxx>>>>
        https://dev.eclipse.org/________mailman/listinfo/m2e-dev
        <https://dev.eclipse.org/______mailman/listinfo/m2e-dev>
                 <https://dev.eclipse.org/______mailman/listinfo/m2e-dev
        <https://dev.eclipse.org/____mailman/listinfo/m2e-dev>>


          <https://dev.eclipse.org/______mailman/listinfo/m2e-dev
        <https://dev.eclipse.org/____mailman/listinfo/m2e-dev>
                 <https://dev.eclipse.org/____mailman/listinfo/m2e-dev
        <https://dev.eclipse.org/__mailman/listinfo/m2e-dev>>>




        <https://dev.eclipse.org/______mailman/listinfo/m2e-dev
        <https://dev.eclipse.org/____mailman/listinfo/m2e-dev>
                 <https://dev.eclipse.org/____mailman/listinfo/m2e-dev
        <https://dev.eclipse.org/__mailman/listinfo/m2e-dev>>

          <https://dev.eclipse.org/____mailman/listinfo/m2e-dev
        <https://dev.eclipse.org/__mailman/listinfo/m2e-dev>
                 <https://dev.eclipse.org/__mailman/listinfo/m2e-dev
        <https://dev.eclipse.org/mailman/listinfo/m2e-dev>>>>




                          --
                          Fotografie
        http://schutte.name/



          _____________________________________________________
                          m2e-dev mailing list
        m2e-dev@xxxxxxxxxxx <mailto:m2e-dev@xxxxxxxxxxx>
        <mailto:m2e-dev@xxxxxxxxxxx <mailto:m2e-dev@xxxxxxxxxxx>>
                 <mailto:m2e-dev@xxxxxxxxxxx
        <mailto:m2e-dev@xxxxxxxxxxx> <mailto:m2e-dev@xxxxxxxxxxx
        <mailto:m2e-dev@xxxxxxxxxxx>>>
        https://dev.eclipse.org/______mailman/listinfo/m2e-dev
        <https://dev.eclipse.org/____mailman/listinfo/m2e-dev>
                 <https://dev.eclipse.org/____mailman/listinfo/m2e-dev
        <https://dev.eclipse.org/__mailman/listinfo/m2e-dev>>

          <https://dev.eclipse.org/____mailman/listinfo/m2e-dev
        <https://dev.eclipse.org/__mailman/listinfo/m2e-dev>
                 <https://dev.eclipse.org/__mailman/listinfo/m2e-dev
        <https://dev.eclipse.org/mailman/listinfo/m2e-dev>>>

                      _____________________________________________________
                      m2e-dev mailing list
        m2e-dev@xxxxxxxxxxx <mailto:m2e-dev@xxxxxxxxxxx>
        <mailto:m2e-dev@xxxxxxxxxxx <mailto:m2e-dev@xxxxxxxxxxx>>
                 <mailto:m2e-dev@xxxxxxxxxxx
        <mailto:m2e-dev@xxxxxxxxxxx> <mailto:m2e-dev@xxxxxxxxxxx
        <mailto:m2e-dev@xxxxxxxxxxx>>>
        https://dev.eclipse.org/______mailman/listinfo/m2e-dev
        <https://dev.eclipse.org/____mailman/listinfo/m2e-dev>
                 <https://dev.eclipse.org/____mailman/listinfo/m2e-dev
        <https://dev.eclipse.org/__mailman/listinfo/m2e-dev>>

          <https://dev.eclipse.org/____mailman/listinfo/m2e-dev
        <https://dev.eclipse.org/__mailman/listinfo/m2e-dev>
                 <https://dev.eclipse.org/__mailman/listinfo/m2e-dev
        <https://dev.eclipse.org/mailman/listinfo/m2e-dev>>>




                 --
                 Fotografie
        http://schutte.name/


                 ___________________________________________________
                 m2e-dev mailing list
        m2e-dev@xxxxxxxxxxx <mailto:m2e-dev@xxxxxxxxxxx>
        <mailto:m2e-dev@xxxxxxxxxxx <mailto:m2e-dev@xxxxxxxxxxx>>
        https://dev.eclipse.org/____mailman/listinfo/m2e-dev
        <https://dev.eclipse.org/__mailman/listinfo/m2e-dev>
                 <https://dev.eclipse.org/__mailman/listinfo/m2e-dev
        <https://dev.eclipse.org/mailman/listinfo/m2e-dev>>

             ___________________________________________________
             m2e-dev mailing list
        m2e-dev@xxxxxxxxxxx <mailto:m2e-dev@xxxxxxxxxxx>
        <mailto:m2e-dev@xxxxxxxxxxx <mailto:m2e-dev@xxxxxxxxxxx>>
        https://dev.eclipse.org/____mailman/listinfo/m2e-dev
        <https://dev.eclipse.org/__mailman/listinfo/m2e-dev>
             <https://dev.eclipse.org/__mailman/listinfo/m2e-dev
        <https://dev.eclipse.org/mailman/listinfo/m2e-dev>>




        --
        Fotografie
        http://schutte.name/


        _________________________________________________
        m2e-dev mailing list
        m2e-dev@xxxxxxxxxxx <mailto:m2e-dev@xxxxxxxxxxx>
        https://dev.eclipse.org/__mailman/listinfo/m2e-dev
        <https://dev.eclipse.org/mailman/listinfo/m2e-dev>

    _________________________________________________
    m2e-dev mailing list
    m2e-dev@xxxxxxxxxxx <mailto:m2e-dev@xxxxxxxxxxx>
    https://dev.eclipse.org/__mailman/listinfo/m2e-dev
    <https://dev.eclipse.org/mailman/listinfo/m2e-dev>




--
Fotografie
http://schutte.name/


_______________________________________________
m2e-dev mailing list
m2e-dev@xxxxxxxxxxx
https://dev.eclipse.org/mailman/listinfo/m2e-dev



Back to the top