--- a/maven/src/org/netbeans/modules/maven/nodes/DependencyNode.java +++ a/maven/src/org/netbeans/modules/maven/nodes/DependencyNode.java @@ -44,6 +44,8 @@ import java.awt.Component; import java.awt.Image; +import java.awt.Toolkit; +import java.awt.datatransfer.StringSelection; import java.awt.event.ActionEvent; import java.beans.PropertyChangeEvent; import java.beans.PropertyChangeListener; @@ -417,13 +419,17 @@ if (longLiving && isDependencyProjectAvailable()) { acts.add(OpenProjectAction.SINGLETON); } + boolean local = isLocal(); if (isAddedToCP()) { InstallLocalArtifactAction act = new InstallLocalArtifactAction(); acts.add(act); - if (!isLocal()) { + if (!local) { act.setEnabled(true); } } + if (local) { + acts.add(new CopyLocationAction()); + } // acts.add(new EditAction()); // acts.add(RemoveDepAction.get(RemoveDepAction.class)); @@ -1012,6 +1018,19 @@ } } + private class CopyLocationAction extends AbstractAction { + + @Messages("CopyLocationAction.name=Copy Location") + CopyLocationAction() { + super(CopyLocationAction_name()); + } + + @Override public void actionPerformed(ActionEvent e) { + Toolkit.getDefaultToolkit().getSystemClipboard().setContents(new StringSelection(art.getFile().getAbsolutePath()), null); + } + + } + @Messages("BTN_Add_javadoc=Add local Javadoc") private class InstallLocalJavadocAction extends AbstractAction implements Runnable {