jak wygenerowac strone na localhost przy uzyciu maven'a

1

Czesc, mam takie pytanie: przy pomocy wtyczki site moge sobie generowac strone dla mojego projektu, generowac javadoc, itp. Normlanie generuje mi sie to w target/site. Ale ja chcialabym aby sie to generowalo (albo kopiowalo z target/site) do katalogu htdocs serwera apache http. Czy sie tak da?

Znalazlam w sieci niby jakies przyklady, ale troche mi nie idzie, np:

 <distributionManagement>
    <site>
      <id>mkyongserver</id>
      <url>dav:http://127.0.0.1/sites/</url>
    </site>
  </distributionManagement>
 

nie rozpoznaje mi tego dav. Wyczytalam ze trzeba dodac jakis wagon, dodalam, ale dalej nic z tego .. :/ ja bym chciala jako url podac normalnie C:\misty\xampp\htodcs...

Czy tak sie da?

pzdr,
misty

1

Poczytaj o site:deploy, to jest wlasnie po to zeby takie rzeczy robic.

0

no orlalam juz site:deploy i z tym nie idzie. tzn. site:site generuje mi stronke do target/site. a ja chce by generowalo pod wskazany adres. I najlepiej by ten adres zaszyc w pomie. I wtedy niby site-deploy. Ale jak daje site-deploy to mi sie czepia ze nie zna "scp". W pomie mam tak:

	<distributionManagement>
		<site>
			<id>my-site</id>
			<url>scp:http://localhost:8080/site/</url>
		</site>
	</distributionManagement>
 

i wlasciwie w tym url to ja bym chciala podac sciezke C:\xampp... itd. Tylko jak podaje to tez sie rzuca :/

pzdr

2

Jeszcze raz - site:site generuje stronke, i nic wiecej. Nastepny krok to site:deploy. Z tego co widze ty podalas linka z scp:, ale kopiowac chcesz na jakas lokalna sciezke - uzyj zwyklego kopiowania.
scp - co to jest? albo scp, albo http, albo dav:http (czy jakos tam), ale ty masz lokalna sciezke wiec po prostu file:.

0

no wlasnie pomieszalam na maxa! z file wszystko dziala, super!

dzieki i pzdr,
misty

0

A czy wiesz moze (nie udalo mi sie tego znalezc) czy ja moge podpiac pod to swoje dokumenty? tzn. przykladowo-mam dokumentacje/howto/cokolwiek juz sobie napisane w doc/pdf/czymkolwiek. Czy w jakis sposob w pomie (mvn site?) moge zdefiniowac by na tej mojej wygenerowanej stronie byl jeszcze link ktory wczyta ten moj dokument?

pzdr,
   misty
0

Z tego co wiem mozesz dodawac wlasne pliki (obrazki, pdf) i linkowac je w tych stronkach apt ktore maven uzywa.

0

Dzieki za linka. Ale srednio mi sie to podoba. Sadzilam ze bede mogla zdefiniowac sobie sciezke (wiele sciezek) w ktorych bede sobie trzymac dokumenty ktore maja byc zalaczone. No ok, niech to bedzie juz w tym src/site. Ale myslalam ze jakos automatycznie wygeneruja mi sie linki do tych dokumentow a tak nie jest. To troche slabo..

pzdr,
misty

0

A skad wiadomo, jak ty chcesz zeby te linki wygladaly? Jakie maja miec napisy, gdzie maja byc itp? Skad maven ma wiedziec co i jak?
Co do katalogu: http://maven.apache.org/plugins/maven-site-plugin/site-mojo.html, i parametr siteDirectory. Ogolnie moze byc tylko 1 katalog, ale w nim mozesz miec jakies podkatalogi. To jest ogolnie znany problem mavena, ze jest baaaardzo sztywnym narzedziem, i np. maven-buildhepler-plugin jest czesto uzywany aby dodac katalogi z kodem zrodlowym do projektu.

0

Wiesz co, juz sie totalnie pogubilam.. ten siteDescriptor to parameter do site:site? czy ja to do poma mam wrzucic? Nie moge nigdzie znalezc..

Generalnie, skoro trzeba wpierw przygotowac co ma jak wygladac, to ok (wczesniej myslalam ze maven sam mi defaultowo potworzy linki itd, a dopiero jesli bym chciala by wygladaly inaczej to mam dodac cssy czy cos tam..). Doczytalam ze musze stworzyc site.xml. Mam taki przykladowy:

<project name="Sample Project">
    <bannerLeft>
        <name>Test</name>
    </bannerLeft>
    <body>
        <menu name="Test">
            <item name="Overview"/>
        </menu>
        <menu ref="reports"/>
    </body>
</project> 

Do poma dodalam:

			<plugin>
				<artifactId>maven-site-plugin</artifactId>
				<executions>
					<execution>
						<id>attach-descriptor</id>
						<goals>
							<goal>attach-descriptor</goal>
						</goals>
					</execution>
				</executions>
			</plugin>
 

no i lece: mvn site:site, mvn site:deploy i nic! Tworza mi sie jakies defaultowe cssy i obrazki, kopiuje mi moj plik ktory umiescilam w src/site/resources i to wszystko! W ogole mi chyba nie chwyta tego site.xml? Nie generuje mi zadnego przykladowego index.html, nic. Jak to ugryzc?:/

    pzdr,
   misty
0

Nie wiem co to jest siteDescriptor i co robi attachDescriptor. Ja tylko mowilem o parametrze siteDirectory, ktore pozwala zmienic defaultowe src/site na cos innego, bo na to sie skarzylas.

1

Dobra, ogarnelam temat. Opisze co i jak gdyby ktos w przyszlosci byl zainteresowany. Wiec - moim celem bylo wygenerowanie strony ktora zawieralaby automatycznie wygenerowane javadoci oraz checkstyle, a takze dodane przeze mnie dokumenty. Do poma nalezy dodac:

 
	<distributionManagement>
		<site>
			<id>my-site</id>
			<url>file:sciezka_gdzie_ma_by_projekt_kopiowany</url>
		</site>
	</distributionManagement>

zas w pluginach:

 
<plugin>
	<artifactId>maven-site-plugin</artifactId>
				<executions>
					<execution>
						<id>attach-descriptor</id>
						<goals>
							<goal>attach-descriptor</goal>
						</goals>
					</execution>
				</executions>
			</plugin>

<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-site-plugin</artifactId>
				<version>3.0</version>
				<configuration>
					<reportPlugins>
						<plugin>
							<groupId>org.apache.maven.plugins</groupId>
							<artifactId>maven-javadoc-plugin</artifactId>
							<version>2.8.1</version>
						</plugin>
						<plugin>
							<groupId>org.apache.maven.plugins</groupId>
							<artifactId>maven-checkstyle-plugin</artifactId>
							<version>2.9.1</version>
						</plugin>
					</reportPlugins>
				</configuration>
			</plugin>

I to ogolnie po wydaniu mvn site:site wygeneruje stronke z javadocami i checkstyle w target/site lub jesli damy mvn site:deploy to zostanie to skopiowane do podanej w distributionManagement lokalizacji. Gdy chcemy dolaczyc swoje pliki: W src tworzymy katalog site/resources (darowalam sobie juz te poszukiwania na temat tego czy moze to byc inna lokalizacja. Pewnie tak, ale nie wiem jak to skonfigurowac). Do src/site/resources wrzucamy pliki ktore chcemy by byly dolaczone, zas do katalogu src/site dodajemy site.xml w ktorym definiujemy rozklad elementow. Ja stworzylam przykladowy:

 
<project name="My Project">
  <bannerLeft>
    <name>Test Name</name>
    <src>http://maven.apache.org/images/apache-maven-project.png</src>
    <href>http://maven.apache.org/</href>
  </bannerLeft>
  <bannerRight>
    <src>http://maven.apache.org/images/maven-small.gif</src>
  </bannerRight>
  <body>
       <links>
      <item name="Maven" href="http://maven.apache.org/"/>
      <item name="Apache" href="http://www.apache.org/"/>
    </links>

    ${reports} 

    <menu name="My Documentation">
      <item name="Test docs 1" href="doc1.txt"/>
      <item name="Test docs 2" href="doc2.txt"/>
      <item name="Test docs 3" href="doc3.txt"/>
    </menu>
  </body>
</project>

W ${reports} podpiete beda wygenerowane automatycznie raporty (czyli javadoci oraz checkstyle), zas w menu definiuje te moje pliki ktore chce podlaczyc.

    mam nadz ze kiedys komus sie przyda. pzdr i dzieki za pomoc!
  
     misty
1

Fajnie ze dziala.
Po co to attach-descriptor? Co to robi, i do czego to uzywasz? Nie widze zadnej szczegolnej konfiguracji u Ciebie.
Poza tym, 2 razy masz ten sam plugin dodany, maven-site-plugin, raz z wersja a raz bez (wiec maven bedzie bral najnowsza wersje), o ile wiem moze to przysparzac duzo klopotow. Hę?

1

Apropos attach-descriptor to wyczytalam ze w maven 3 trzeba to dodawac aby korzystal z tego site.xml. Ale juz widze ze nie jest to prawda, bez tego dziala, maven automatycznie jak ma cos w src/site to kuma ze ma to brac. Jesli chodzi o podwojne dodanie pluginu to moj blad, dzieki za uwage.

czyli pluginy:


 
<plugin>
                                <groupId>org.apache.maven.plugins</groupId>
                                <artifactId>maven-site-plugin</artifactId>
                                <version>3.0</version>
                                <configuration>
                                        <reportPlugins>
                                                <plugin>
                                                        <groupId>org.apache.maven.plugins</groupId>
                                                        <artifactId>maven-javadoc-plugin</artifactId>
                                                        <version>2.8.1</version>
                                                </plugin>
                                                <plugin>
                                                        <groupId>org.apache.maven.plugins</groupId>
                                                        <artifactId>maven-checkstyle-plugin</artifactId>
                                                        <version>2.9.1</version>
                                                </plugin>
                                        </reportPlugins>
                                </configuration>
                        </plugin>
 

       pzdr,
       misty
0

Mam taki problem przy generowaniu strony.
Mianowicie używam pluginu do tworzenia dokumentacji wielojęzycznej:

			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-site-plugin</artifactId>
				<version>3.1</version>
				<configuration>
					<locales>en,pl</locales>
				</configuration>
			</plugin>

i generuje mi się folder 'pl', gdzie jest docs po polsku.
Jednak mam także, dołączony plik plik.doc i plik rozmieszczenia site.xml,
problem polega na tym, że w specyfikacji 'en' wszystko jest ok, a przy 'pl' podawana jest zła ścieżka do pliku.

Jak coś takiego rozwiązać?

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