Avatar billede martinhrj Nybegynder
21. februar 2005 - 22:12 Der er 9 kommentarer og
1 løsning

Kompileret servlet på Resin

Jeg har brug for lidt sparring...

Jeg forsøger at få servlets til at virke på en resin webserver. Og det har da været noget bøvl :) Men det er lykkedes (yey!). Men jeg står nu tilbage med et (forhåbentligt) mindre spørgsmål:
Når jeg uploader f.eks. servletten test.java og afvikler den på serveren. Så kompilerer Resin den selv, og kører denne. Men hvad skal jeg gøre, for at kunne uploade en classfil og køre den? Resin lægger den class-fil den laver i samme bib som java-filen. Men hvis jeg bare lægger en class-fil der (som jeg selv har kompileret) og fjerner java-filen, får jeg en fejl. Det kan da ikke passe, at man ikke selv kan kompilere!?! Det er da et enormt workload på webserveren hvis den skal stå for kompileringen! Og det er jeg ikke sikker på mit webhotel er glad for :)

Håber der er nogen der kan hjælpe.

På forhånd tak!
Avatar billede arne_v Ekspert
21. februar 2005 - 22:15 #1
Prøv:

webapps\dinapplikation\WEB-INF\classes\dinpakke\DinServlet.class
Avatar billede martinhrj Nybegynder
21. februar 2005 - 22:21 #2
Ja... det ville jeg jo meget gerne, for hvis det virker er det det samme som på tomcat. Og det ville være vidunderligt! Men desværre har jeg kun adgang til et bibliotek som hedder public_html via ftp. Og jeg har prøvet at oprette ved siden af det, og under det osv. Men det funger ikke helt. Så indtil videre bruger jeg bare public_html\WEB-INF\classes\minpakke\minservlet.class. Og det funger ikke :( men hvis jeg smider javafilen på public_html\WEB-INF\classes\minpakke\minservlet.java, så kompilerer den, lægger class-filen der (public_html\WEB-INF\classes\minpakke\minservlet.class) og alt kører efter hensigten...

Altså opsumering: Det virker hvis jeg får resin til at lave class-filen. Men hvis jeg selv kompilerer og smider class-filen samme sted som resin selv lægger den, virker det ikke.
Avatar billede arne_v Ekspert
21. februar 2005 - 22:35 #3
Jeg mener at den placering er givet i servlet specifikationen.

Det er ikke et spørgsmål om at restarte din web app ?
Avatar billede martinhrj Nybegynder
21. februar 2005 - 22:38 #4
Jeg har forsøgt at slette både java-filen og class-filen. Så må web-app'en da være genstartet :) Som sagt er det et webhotel jeg forsøger at få det til at virke på, så jeg har ikke mulighed for at prøve at genstarte resin.

Jeg kom til at tænke på... jeg har java 1.5 installeret. Kan det have noget med det at gøre (hvis den Resin der kører har en ældre version)? Altså så den ikke kan køre de class-filer jeg kompilerer...
Avatar billede arne_v Ekspert
21. februar 2005 - 22:45 #5
Det er ikke nødvendigvis nok at slette class fil og gen uploade.

Men prøv og opdater web.xml efter at have uploadet din class fil.
Avatar billede arne_v Ekspert
21. februar 2005 - 22:46 #6
Måske.

Men du kan altid compile med:

javac -target 1.3

eller sådan noget
Avatar billede martinhrj Nybegynder
21. februar 2005 - 22:59 #7
Det hjalp ikke at opdatere web.xml efter upload af class-fil. Og jeg får følgende fejl når jeg skriver javac -target 1.3 *.java
"javac: target release 1.3 conflicts with default source release 1.5"
Avatar billede arne_v Ekspert
21. februar 2005 - 23:00 #8
javac -target 1.3 -source 1.4
Avatar billede martinhrj Nybegynder
21. februar 2005 - 23:20 #9
Super! Det virker nu! Det var fordi jeg kompilerede til 1.5. Så da jeg kompilerede med
javac -target 1.3 -source 1.3
virkede det :)

Tusind tak! Bare smid et svar.
Avatar billede arne_v Ekspert
21. februar 2005 - 23:34 #10
ok
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester