Can't run my Struts 2 Maven Project from Eclipse - eclipse

I've got my Struts 2 project working fine. I built it via the command line and everything went well. My final step involved deploying to tomcat, again via command line:
mvn tomcat:run
In the folder with the pom file. That worked - i could hit the project via the browser. But when I imported it into Eclipse;
File -> Import -> Existing Maven Projects -> MyProject
the project imported but can't be run from Eclipse. The option under Run As -> Run on Server isn't there.
How do I get that option to appear?

Figured it out. Right click on the project folder, scroll down to properties(or press the Alt+Enter shortcut on Windows) and select Project facets.
From there ensure that "Dynamic Web Module" is clicked and select "Apply." Now you should beable to run the project on the server.

Related

github project not launching as web app inside eclipse

I have eclipse mars installed with the egit plugin. It successfully downloads projects from github, but how do I convert the downloaded github projects into eclipse maven web projects that can successfully launch via Run As ... Run on server in eclipse?
Let's take this two step authentication project on github as an example. How do I get this project to launch from eclipse using Run As.. Run on server?
Here are the steps I took so far:
1.) Right click on white background of eclipse Project Explorer.
2.) Choose Import > Import ...
3.) Select Git > Projects from git from the resulting dialog box
Click Next
4.) Select Clone URI then click next again
5.) Enter the following in the URI field: https://github.com/kyleboon/two-step-authentication-example
6.) Click Next
7.) Click Next Again
8.) Click Next a Third time
9.) Select Import using the new project wizard. Then click next again.
10.) Select maven project and import
11.) Right click on root of resulting project in eclipse Project Explorer and choose Properties.
12.) Select Project Facets
13.) Enable Project Facets
14.) Select Dynamic Web Module to make it a dynamic web project. Click OK.
15.) Right click on project root in eclipse Project Explorer. Select Maven download sources, then Maven update project.
16.) Right click on project root in eclipse and choose Run As...Run on server
The result is that tomcat gives a 404 error when it launches the following url: http://localhost:8080/two-step-authentication-example/
So what steps do I do instead in order to successfully launch this specific github project in eclipse using Run As...Run on Server? This question is general for all github web projects, but we are using this specific project as a case study to test a method that will be repeatable for other github projects.

Run "mvn clean install" in Eclipse

Title says it all.
I want to run the console command mvn clean install on my project in question directly in Eclipse, not from the command line.
It would just be more convenient for me to do this, as I already have the project open in Eclipse. It would save me time if I would not have to navigate to the folder in Windows Explorer.
Not a big deal if I can't do this... but can I? And if so, how?
It would be great if I could just right click my project, then click "mvn clean install" from the context menu.
I use eclipse STS, so the maven plugin comes pre-installed. However, if you aren't using STS (Springsource Tool Suite), you can still install the m2Eclipse plugin. Here is the link:
http://www.eclipse.org/m2e/
Once you have this installed, you should be able to run all the maven commands. To do so, from the package explorer, you would right click on either the maven project or the pom.xml in the maven project, highlight Run As, then click Maven Install.
Hope this helped.
Run a custom maven command in Eclipse as follows:
Right-click the maven project or pom.xml
Expand Run As
Select Maven Build...
Set Goals to the command, such as: clean install -X
Note: Eclipse prefixes the command with mvn automatically.
You can create external command Run -> External Tools -> External Tools Configuration...
It will be available under Run -> External Tools and can be run using shortcuts.
Right click on pom.xml, Run As, you should see the list of m2 options if you have Maven installed, you can select Maven Clean from there
If you want to open command prompt inside your eclipse, this can be a useful approach to link cmd with eclipse.
You can follow this link to get the steps in detail with screenshots.
How to use cmd prompt inside Eclipse ?
I'm quoting the steps here:
Step 1: Setup a new External Configuration Tool
In the Eclipse tool go to Run -> External Tools -> External Tools Configurations option.
Step 2: Click New Launch Configuration option in Create, manage and run configuration screen
Step 3: New Configuration screen for configuring the command prompt
Step 4: Provide configuration details of the Command Prompt in the Main tab
Name: Give any name to your configuration (Here it is Command_Prompt)
Location: Location of the CMD.exe in your Windows
Working Directory: Any directory where you want to point the Command prompt
Step 5: Tick the check box Allocate console
This will ensure the eclipse console is being used as the command prompt for any input or output.
Step 6: Click Run and you are there!! You will land up in the C: directory as a working directory
Just found a convenient workaround:
Package Explorer > Context Menu (for specific project) > StartExplorer > Start Shell Here
This opens the cmd line for my project.
Unless someone can provide me a better answer, I will accept my own for now.

Import maven project in eclipse - folder structure not as expected

I am new to maven projects. Steps followed :
I tried importing a maven project in eclipse through File -> Import.
Gave the location of root dir of the svn checkout project. It recognized the pom.xml file.
Clicked Finish. Project imported and all files were placed in the Project Explorer of the eclipse.
Problem:
The directory structure was not as that of a java package, it was just a normal folder structure. I am not able to browse the code quickly i.e. get the declaration, different calls to a method and all the code browsing shortcuts. It gives a error says.. Project not in Build Path. On right clicking the project, there are no options present in the 'Build Path'.
Please let me know, what I am doing wrong here. How to import a maven project correctly into eclipse and set it up ?
Run :
mvn eclipse:clean
Then
mvn eclipse:eclipse
And it should be it's old self again, if not refresh the project in eclipse and that should do it
I have faced similar issue . I have resolved this issue :
Right click on project -> properties -> Project Facets -> convert it into Facet form
And you can get the folder structure as you want
I faced the same issue and could resolve by following steps
First ensure that you are able to maven clean or install. Just to ensure the proj setup works.
Right click on Project.
Navigate to Maven > Update project configuration.
This should resolve the issue. Hope this helps.
I resolved this issue with:
go to Window > Preferences > build path
under output and source folder choose the project
delete/backup original project and create/import the same.
your issue will be resolved.

Eclipse: Cannot find project in Project Explorer

I am using Eclipse Juno SR1 Java EE, and checked out code from SVN as an Eclipse project. I am able to click on files in the project to verify everything was ok. The next time I rebooted, I can't see the project in the Project Explorer window.
A few things I checked: The menu item Project > Open Project is greyed out, indicating there are no closed projects. The project's file tree exists in my workspace. Eclipse won't let me create a new project with the same name because one already exists.
This is my first time using Juno, is there some new control that hides projects from view?
"File -> Import -> General -> Existing Projects Into Workspace"
"File -> Import -> Android -> Existing Android Code Into Workspace" doesn't do what you're trying to accomplish (been there...).
Assuming the above lines mean what they say, the first tells Eclipse to recognize what you're importing as an official Project. The 2nd tells Eclipse that you're importing only the code, not the Project itself.
Sometimes it's just because .project file is missing. If you have any other project, copy its .project file and paste inside the main folder of the project you're trying to import.
Try starting with the clean option in command line, maybe that should fix it
eclipse -clean
try
file -> switch workspace -> other
and tell eclipse where your workspace is
I was facing the same problem with RAD. What I did was:
imported only those projects which were deployed locally in my portal server.
Did a clean build.
Started the server.
It worked for me. Able to access my application. Rest of the projects which were not deployed as part of my local portal server, I will import them on need basis later.

Maven dynamic web project in eclipse deploys invalid jar files for dependent project(s)

I have a maven web project that imported into eclipse. I have another maven project (generates a jar file) that the web project depends on.
Both of these projects work correctly when executed from the command line. mvn package creates a war file which pulls the jar it depends on from the maven repository for the web project. mvn package creates a valid jar file when run for the library.
When I import the library into Eclipse, m2e recognizes that the web project depends on the library and updates parts of the project to take advantage of the fact that both maven projects are hosted within a single Eclipse workspace. The "Maven Dependencies" section of the "Libraries" tab of the "Java Build Path" preference for the web project removes the library jar file and replaces it with the library project. As the library is updated in Eclipse, the web project recognizes those changes without having to install/deploy the library.
The problem occurs when I attempt to run the web application in Eclipse. Because Eclipse is actually building the Web project against the version of the library in Eclipse, it does not deploy the library file from the maven repository, it creates a new jar file that's a snapshot of the current version of the library in Eclipse. All of this has generally worked well for me, but on the project I'm currently working on there's a problem with the jar file that Eclipse is creating. Instead of inserting the class files for the library, it appears that it's taking the "src" directory of my Maven project and zipping it up as the jar file. The contents of the jar file look something like:
-main
-java
-com
-... *.java
-resources
-...
-test
-java
-com
-... *.java
Where I would expect it to look more like:
-com
-... *.class
Since I have successfully used this type of project before, I'm trying to figure out if there's something I need to configure or if I've just run into a bug.
I'm using the latest update of m2e (1.0.200.20111228-1245) on Eclipse Indigo (Build id: 20120216-1857).
In Eclipse, we can disable the "Workspace Resolution" so that it will use our dependencies directly from the local maven repository as the following steps: -
Disable Workspace Resolution
Right click at the project inside the eclipse
Select "Maven" from the context menu.
If it display "Disable Workspace Resolution" which means it is enable. We click it with purpose to disable it. Please note, after that it will display "Enable Workspace Resolution" which means we have disabled already.
We may need to update the project configuration and other related dependencies as the following steps: -
Update Project Configuration
Right click at the project inside the eclipse
Select "Maven" from the context menu.
Click the "Update Project Configuration..."
The "Update Maven Dependencies" windows will be displayed.
Select the required projects and click "OK".
Update Dependencies
Right click at the project inside the eclipse
Select "Maven" from the context menu.
Click the "*Update Dependencies"
The "Update Maven Dependencies" windows will be displayed.
Select the required projects and click "OK".
Please take a note, since we not use the related dependencies directly from the workspace anymore, It will use directly from our local maven repository. Then all related artifacts should be installed to our local maven repository by using the following command line.
mvn install
Anyhow it can be done by using the context menu inside the Eclipse as the following steps:-
Right click at the project inside the eclipse
Select "Run As" ---> "Maven Install".
Here's the solution that I came up with.
It appears that in my case the rules for the "Deployment Assembly" for the library project are still followed.
To change it go to the library properties->Deployment Assembly
In my case that just contained a mapping from '/src' -> '/'. I removed that entry and replaced it with a mapping from '/target/classes' -> '/' and '/src/main/resources' -> '/'.
Once I had that mapping in place, when the jar file was deployed it contained exactly what I had configured in the Deployment Assembly. That allows Eclipse to continue to be used without explicitly republishing the library for every change. But, it doesn't seem to auto redeploy to tomcat for me when the library is updated -- I still need to manually restart tomcat for library changes to be reflected.
It's still not entirely clear to me what's going on with this project. I do have previous projects that have a similar structure, and in those projects the Deployment Assembly has not been updated to explicitly include the class files and yet the proper jar file is still deployed.