Deploy na Tomcata (Maven) - gdzie to się robi?

0

Witam, mam problem otóż nie potrafię z deployować projektu do tomcata.
Otóż próbuje tego http://www.mkyong.com/maven/how-to-deploy-maven-based-war-file-to-tomcat/
http://www.mkyong.com/spring3/spring-3-mvc-hello-world-example/ Mając taki projekt.
Dodam, że mój pom.xml wygląda tak(nie wiem gdzie wpisać ten plugin, bo kurs o tym nie mówi)

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>

  <groupId>michu</groupId>
  <artifactId>org</artifactId>
  <version>0.0.1-SNAPSHOT</version>
  <packaging>jar</packaging>

  <name>org</name>
  <a href="http://maven.apache.org">http://maven.apache.org</a>

	<properties>
		<spring.version>4.0.6.RELEASE</spring.version>
	</properties>
 
	<dependencies>
 
		<!-- Spring 3 dependencies -->
		<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-core</artifactId>
			<version>${spring.version}</version>
		</dependency>
 
		<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-web</artifactId>
			<version>${spring.version}</version>
		</dependency>
 
		<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-webmvc</artifactId>
			<version>${spring.version}</version>
		</dependency>
 
	</dependencies>
 

</project>

	<plugin>
		<groupId>org.apache.tomcat.maven</groupId>
		<artifactId>tomcat6-maven-plugin</artifactId>
		<version>2.2</version>
		<configuration>
			<a href="http://localhost:8080/manager">http://localhost:8080/manager</a>
			<server>TomcatServer</server>
			<path>/mkyongWebApp</path>
		</configuration>
	</plugin>

Próbowałem już wszystkiego np. http://imgur.com/LHRPhAr
Lecz nie przynosiło to, żadnych rezultatów... Więc zostaje mi zapytać tutaj ktoś coś ?
Tak w ogóle jak się dowiem już tego, to i tak będą komplikacje, więc będę miał więcej pytań...

0

Wiem że pytanie trochę nie na temat ale: po co? Przecież z IDE i tak pewnie odpalasz przez run_on_server, a w środowisku produkcyjnym i tak zrobisz to ręcznie ;]
Poza tym taka ciekawostka, może skorzystasz z tego rozwiązania: https://github.com/Pharisaeus/SpringScaffoldApplication/ (tak wiem, brzydka kryptoreklama) i w ogóle będziesz odpalał bez potrzeby stawiania jakiegoś tomcata? ;)

0

Widze już ten projekt na githubie 3 raz. I nie wiem jak ma mi to pomóc. Ten cały spring to chyba moja pięta achillesowa w całym programowaniu jak wszystko gładko idzie to z tym nie daje rady ruszyć... odpalam zazwyczaj przez run_on_server ale działało to przy javieEE tutaj nie za bardzo. Widzi mi plik .jsp fajne w przeglądarce ale tych kontrolerów już nie. I nie rozumiem jak mam postawić to bez tomcata pliki .jsp odpalane są w przeglądarce a do tego jest mi potrzebny serwer z tomcatem, żeby mi kontrolery działały... Ja już chyba nawet nie wiem do czego służy ten cały spring

EDIT:
Zgaduje, że do odpalania służy runner

0
  1. Jaki to "kocur"? Troche nie chce mi sie wierzyc, ze uzywasz najnowszej wersji springa w polaczeniu z kocurem, ktorego wydano pierwszy raz lata temu.
  2. Czy probowales to deployowac za pomoca polecen typu mvn tomcat6:deploy? Jezeli tak to czy kocur byl uruchomiony?
  3. Do czego Ci to wlasciwie jest potrzebne? Nie wystarczy deployment z poziomu srodowiska?
0
  1. Masz w pomie ustawione packaging na "jar" a powinno być "war". To sie potem nie dziw że IDE nie umie tego poprawnie odpalić.
  2. Ściągnij sobie IntelliJ IDEA póki jest darmowy EAP i spróbuj jeszcze raz ;)
    A linkowany projekt ma ci pomóc tak, że w przeciwieństwie do twojego jest dobrze skonfigurowany i importowanie go do dowolnego IDE pozwoli go bez problemów odpalić.
0

@tk:
1.tomcat 6
2. Wylaczony. Gdzie wpisac to polecenie w IDE, to bylo moje pytanie.
3. Jak
@Shalom:
1.Zmienione
2.Żadnych nowych IDE eclipse mi odpowiada

EDIT:
Ja chce po prostu przy użyciu mavena tomcata i eclipse mieć to w przeglądarce...
EDIT2:
@Shalom jak zrobić z tego war w eclipsie ;/ ?

0
MoorfoxD napisał(a):

@tk:
2. Wylaczony. Gdzie wpisac to polecenie w IDE, to bylo moje pytanie.

No wlanie, jezeli chciales korzystac z jakiegos pluginu do deploymentu to wydawalo mi sie, ze chcesz miec mozliwosc deployowania aplikacji z poziomu konsoli. Kiedys podobnie deployowalem aplikacje na serwer jBoss AS i robilem to wlasnie z poziomu konsoli - inaczej zadne pluginy nie bylyby mi w ogole potrzebne.

MoorfoxD napisał(a):
  1. Jak

Nie wiem, nie mam Eclipse'a, ale pewnie tak jak to robiles dla aplikacji JEE. Tyle tylko, ze jak @Shalom sluznie zauwazyl masz byka w pliku pom - zerknij na to co masz w tagu packaging. Po prostu dokonaj poprawki w tym miejscu, wszystko jedno czy w Eclipse czy w Notatniku.

0

@michu45 słabo mi jak czytam twoje posty. Kliknij prawym klawiszem myszki na ten projekt następnie kliknij run on server, wybierz serwer i daj ok. Następnie w zakładce servers uruchom ten serwer i już.

0
 
package michu.org;
 
import org.springframework.stereotype.Controller;
import org.springframework.ui.ModelMap;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
 
@Controller
@RequestMapping("/welcome")
public class HelloController {
 
	@RequestMapping(method = RequestMethod.GET)
	public String printWelcome(ModelMap model) {
 
		model.addAttribute("message", "Spring 3 MVC Hello World");
		return "hello";
 
	}
 
}

Mam strukture pliku jak tutaj https://github.com/Pharisaeus/SpringScaffoldApplication/tree/master/src/main/resources/META-INF
w pages jest index.jsp pisze localhost:8080/org/pages/index.jsp wyswietla mi sie strona ale powinienm odpalic localhost:8080/org/welcome
i powinno sie wyswietlic to czego oczekuje

<html>
<body>
	<h1>Message : ${message}</h1>	
</body>
</html>

Jak wchodze index.jsp jest samo Message : i nic dziwnego

To mam w webapp(w eclipsie DeployedResources > webapp)
web.xml

 
<web-app id="WebApp_ID" version="2.4"
	xmlns="http://java.sun.com/xml/ns/j2ee" 
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee 
	http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
 
	<display-name>org</display-name>
 
	<servlet>
		<servlet-name>mvc-dispatcher</servlet-name>
		<servlet-class>
                       org.springframework.web.servlet.DispatcherServlet
                </servlet-class>
		<load-on-startup>1</load-on-startup>
	</servlet>
 
	<servlet-mapping>
		<servlet-name>mvc-dispatcher</servlet-name>
		<url-pattern>/</url-pattern>
	</servlet-mapping>
 
	<context-param>
		<param-name>contextConfigLocation</param-name>
		<param-value>/webapp/mvc-dispatcher-servlet.xml</param-value>
	</context-param>
 
	<listener>
		<listener-class>
                      org.springframework.web.context.ContextLoaderListener
                </listener-class>
	</listener>
 
</web-app>

mvc-dispatcher-servlet.xml:

<beans xmlns="http://www.springframework.org/schema/beans"
	xmlns:context="http://www.springframework.org/schema/context"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:schemaLocation="
        http://www.springframework.org/schema/beans     
        http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
        http://www.springframework.org/schema/context 
        http://www.springframework.org/schema/context/spring-context-3.0.xsd">
 
	<context:component-scan base-package="michu.org" />
 
	<bean
		class="org.springframework.web.servlet.view.InternalResourceViewResolver">
		<property name="prefix">
			<value>/webapp/pages/</value>
		</property>
		<property name="suffix">
			<value>.jsp</value>
		</property>
	</bean>
 
</beans>

Tak w ogole w org/welcome wyswietla mi sie:

type Status report

message /org/welcome

description The requested resource is not available.
0

g**no ci sie powinno wyświetlić.
Skoro plik z widokiem nazywa sie index.jsp to czemu z kontrolera zwracasz jakieś "hello"? WTF? Co to, spring ma się domyślić jaki widok chcesz wyświetlić czy co? o_O
To co robisz wygląda tak:

user image

0

Bo tak jest chce, żeby najpierw działało jak będzie działać to będę mógł się tego nauczyć, bo póki nie działa to nie ma sensu;/
I sorry to pomyłka wchodze na hello.jsp nie index.jsp

0

Kłamiesz. Ale dam ci szansę. Pokaż repo z tym kodem.

0

Tylko zaloże repo -,-

0

Dla uproszenienia na razie w ogole olejmy pliki widokow - bedzie troche latwiej dojsc do ladu. Dodaj w kontorlerze przed @RequestMapping adnotacje @ResponseBody. Dzieki temu ewentualna zla konfiguracja w sciezkach do plikow widokow nie bedzie generowala zbednych bledow. Jak juz dokonasz te zmiane to napisz czy po wejsciu na /org/welcome wyswietli Ci sie napis "hello"? Jeżeli tak to znaczy, ze kontrolery dzialaja poprawnie.

0

Jakby wkleił logi to też byśmy wiedzieli...

0

https://github.com/Moorfox/Spring/

@Edit:
Jeszcze mały błąd zrobiłem bo robiłem nowy projekt >.> To co w webapp jeszcze do WEB-INF

1

No to co tam wrzuciłeś to na pewno nie zadziała bo nie ma poprawnej struktury webaplikacji...
Skoro nie umiesz poprawnie tego zrobić to albo ściągnij sobie szablon który działa (patrz: ten który linkowałem) albo się doucz. Bo metodą prób i błędów nic z tego nie będzie.

0

Możesz polecić jakiegoś linka do tego czy coś jutro rano się za to wezmę

1

OK, udalo mi sie dojsc do tego zeby wywolywac akcje kontrolera. Jak poczekasz chwilke to Ci to zrobie z widokiem.

0

Jasne, wielkie dzięki, poczekać mogę, ale o tej godzinie to już za to się nie biorę, do tego trzeba świeżego umysłu, rano ogarnąłbym to.

1

Aby Ci to dzialalo powinienes:

  1. Utworzyc folder WEB-INF w folderze webapp
  2. Przeniesc pliki web.xml i mvc-dispatcher-servlet.xml do powyzszego folderu.
  3. W pliku mvc-dispatcher-servlet.xml zmienic "/webapp/pages/" na "pages/"
  4. W pliki web.xml powinienes miec "<param-value>/WEB-INF/mvc-dispatcher-servlet.xml</param-value>"

To chyba wszystko - u mnie dziala. Jakby cos bylo nie tak to napisz.

AKTUALIZACJA:
Gdybys dostawal jakies wyjatki ze klasa nie zostala znaleziona to dodaj jeszcze w pliku pom zaleznosc:

<dependency>
	<groupId>org.springframework</groupId>
	<artifactId>spring-context</artifactId>
	<version>${spring.version}</version>
</dependency>
MoorfoxD napisał(a):

Jasne, wielkie dzięki, poczekać mogę, ale o tej godzinie to już za to się nie biorę, do tego trzeba świeżego umysłu, rano ogarnąłbym to.

Nie marudz, to jest chwilka :) Napisz czy po modyfikacjach dziala, jak nie dziala to zmodyfikuj to co napisalem i zaktualizuj repo.

dodanie znacznika <code class="xml"> - furious programming

0

Jednak nie tak szybko bo nadal sie z tym mecze i nic. Uruchomilem eclipse i o dziwo tamten projekt wywala blad gdy nie wprowadzalem tam zmian, wiec robie nowy i opornie mi to idzie jednak to co napisales na pewno ma sens i nie dlugo to naprawie dzieki wielkie jeszcze raz.

EDIT:
Tworzy mi się plik .war ale nie okazuje na stronie się to jakiś sukces(chyba) spróbuje to ręcznie wrzucić :P

1 użytkowników online, w tym zalogowanych: 0, gości: 1