# Software Metriken für Java



## Brandenburgerin (18. Aug 2010)

Hallo zusammen. 

Ich weiß nicht, ob dies hier die richtige Stelle für mein Problem ist... Wenn nicht, verschiebt mich einfach 

Ich möchte Java-Code auf Qualität überprüfen und suche dafür Programme/Scripte/whatever um den Code mit den gängigen Metriken dafür zu untersuchen. Könnt ihr was empfehlen? Gibt es Plugins für Eclipse vielleicht, die man "nur noch" implementieren muss? Stell ich mir das alles zu einfach vor?

Ich hoffe es kann mir vielleicht jemand ein bissi weiterhelfen.

Viele Grüße
Brandenburgerin


----------



## Jay_030 (18. Aug 2010)

Ich finde Metrics für Eclipse sehr gut: Metrics 1.3.6


----------



## Brandenburgerin (19. Aug 2010)

Hallo Jay,

vielen Dank für den Tipp. Unter welcher Eclipse-Version hast Du das Plugin ausprobiert. Ich habe grade Helios am Start, doch da erscheint im Kontextmenü zum Projekt - nach der Installation des Plugins - keine Auswahlmöglichkeit für "Metrics". In den Preferences von Eclipse kann ich nichts projektspezifisches einstellen. Projektbezogen erscheint kein Menüeintrag für "Metrics" ;(


----------



## madboy (19. Aug 2010)

Sonar ist zwar kein Eclipse Plugin, aber bringt recht viel an Metriken usw. mit und kann über Plugins erweitert werden.


----------



## Wildcard (20. Aug 2010)

Sonar gefällt mir auch gut. Ist auch schön in Hudson integriert


----------



## Jay_030 (20. Aug 2010)

Brandenburgerin hat gesagt.:


> Hallo Jay,
> 
> vielen Dank für den Tipp. Unter welcher Eclipse-Version hast Du das Plugin ausprobiert. Ich habe grade Helios am Start, doch da erscheint im Kontextmenü zum Projekt - nach der Installation des Plugins - keine Auswahlmöglichkeit für "Metrics". In den Preferences von Eclipse kann ich nichts projektspezifisches einstellen. Projektbezogen erscheint kein Menüeintrag für "Metrics" ;(


Zugegeben: Ich arbeite noch mit Galileo. 

Aber habe jetzt mal Helios installiert und auch Metrics: Es wird mir alles angezeigt. Du musst, um es zu aktiveren, in den Projekt-Eigenschaften unter dem Punkt Metrics "Enable Metrics" anklicken. Dann kannst du dir den Metrics-View unter "Window --> Show View --> Other --> Metrics --> Metrics View" aktivieren. Müsste funktionieren. Unter den globalen Eclipse-Einstellungen ist auch ein weiterer Menüpunkt ("Metrics Preferences") zu sehen, worüber du allgemeine Einstellungen des Plugins festlegen kannst.



Wildcard hat gesagt.:


> Sonar gefällt mir auch gut. Ist auch schön in Hudson integriert


Sieht schick aus und Hudson-Integration ist natürlich super. Danke euch für den Tipp. Teste ich heute Abend gleich mal. :toll:


----------



## bygones (20. Aug 2010)

sonar ist gut und einfach zu nutzen.

wenn man nur in eclipse direkt arbeiten will gibt es PMD, FindBugs, Checkstyle, UCDetector und und und


----------



## Jay_030 (20. Aug 2010)

Aber FindBugs hat doch keine Metriken oder ist das nur so gut versteckt, dass ich es bisher noch nicht gesehen habe?


----------



## bygones (20. Aug 2010)

Jay_030 hat gesagt.:


> Aber FindBugs hat doch keine Metriken oder ist das nur so gut versteckt, dass ich es bisher noch nicht gesehen habe?


was ist für dich eine Metrik ?

Eine Metrik ist eine Funktion die Software auf einen Zahlenwert abbildet - dieser wiederum gibt eine Qualitätszustand über die Software wieder.

Somit ist jegliches Tool von mir als Metrik nutzbar


----------



## Jay_030 (20. Aug 2010)

Ok, so Wikipedia-tauglich formuliert, stimmt das. ^^ Ich dachte lediglich an Codemetriken im OOP-Kontext.


----------



## Brandenburgerin (20. Aug 2010)

Jay_030 hat gesagt.:


> Ich dachte lediglich an Codemetriken im OOP-Kontext.



Der OOP-Kontext steht schon im Vordergrund. Naürlich nehm ich auch Checkstyle oder Findbugs zu Hand, aber mir geht es auch um Metriken von Halstead oder McCabe. Ich sehe Checkstyle & Co. eher als Feature.

Sonar hatte ich auch schon gefunden auf der Suche nach Metriken. Nur Hudson kenne ich nicht, wie muss ich das verstehen? Erst Hudson installieren und dann Sonar einfach reinschmeißen?


----------



## bygones (20. Aug 2010)

Brandenburgerin hat gesagt.:


> Sonar hatte ich auch schon gefunden auf der Suche nach Metriken. Nur Hudson kenne ich nicht, wie muss ich das verstehen? Erst Hudson installieren und dann Sonar einfach reinschmeißen?


2 verschiedene Sachen..

Hudson ist ein continuous integration server. Sonar ein programm zum analysieren deines codes. Beide können komplett getrennt von einander laufen, weil sie komplett unterschiedliche Sachen machen. 

Du kannst aber deine Projekte im Hudson bauen lassen und dann sehr leicht für diese Projekte auch noch Sonar laufen lassen.

Aber du kannst auch sonar ohne Hudson auf deine Projekte anwenden.


----------



## Brandenburgerin (20. Aug 2010)

Okay. Ich hab jetzt mal einiges probiert.

Ich wollte Hudson mit Sonar testen. Aber ich glaube, ich verstehe Hudson noch nicht ganz. Ich habe es aufgesetzt und wollte das Plugin installieren, über diese Hudson-Plugin-hinzufügen Seite. Doch irgendwie passiert da nix. Ich wollte auch Hodson neustarten, aber ich finde nur den "Herunterfahren-Button" und dann hängt der ewig im Herunterfahrenmodus und nix passiert. - vielleicht bin ich an der Stelle auch zu ungeduldig ???:L

Dann dachte ich mir, baue ich Sonar halt so ins System. Doch da scheitere ich schon an der Maven-Installation. Ich gehe die Anleitung zum Installieren durch :rtfm: (Maven - Download Maven). Doch der findet mir mit dem Befehl "mvn --version" nix. Auch nach neustarten und ein bissl rumprobieren in den Variablen bringt keine Erkenntnis. Liegt es vielleicht an Windows 7? Ich schau auch selber noch mal auf den Maven Seiten, aber vielleicht weiß das hier einer direkt.

Und dabei wollte ich doch nur "mal eben" schauen, wie die Programme so aussehen und laufen. :-(


----------



## bygones (20. Aug 2010)

mach lieber nicht alles auf einmal....

wenn du Sonar testen willst - brauchst du Maven projekte. Dann erstmal in Ruhe Maven installieren und die Projekte "mavenisieren"...

Damit 'mvn ...' funktioniert muss natürlich deine Maven installation in der PATH Variable eingetragen sein (höchstens in win 7 ists auf einmal anders...)

hudson brauchst du da erstmal gar net.

PS: Hudson hat afaik noch nen bug dass er über die UI sich nicht komplett runterfährt... einfach den prozess beenden und neustarten.


----------



## Brandenburgerin (20. Aug 2010)

Jay_030 hat gesagt.:


> Du musst, um es zu aktiveren, in den Projekt-Eigenschaften unter dem Punkt Metrics "Enable Metrics" anklicken.



Ich hab jetzt zunmindest erst mal den "Fehler" zu Metrics gefunden - also eher den Grund, warum mir Metrics nicht in den Porjekt-Properties angezeigt wurde/wird:
Normalerweise markiere ich das gewünschte Projekt und gehe über das Menü Project -> Properties. Wenn ich das so wähle, habe ich KEINEN Eintrag für Metrics. Wenn ich aber beim Projekt direkt Rechtsklicke und im Kontextmenü die Properties auswähle, habe ich dort den Eintrag für Metrics.... Das verstehe wer will. Es ist doch ein- und dasselbe Menü, oder nicht? Mein Problem an der Sache war halt, dass mein "default"-Verhalten zum Aufrufen der Properties, das "falsche" Menü brachte. Fragt mich nicht, warum ich einmal anders vorging, ich weiß es nicht :autsch:



bygones hat gesagt.:


> wenn du Sonar testen willst - brauchst du Maven projekte. Dann erstmal in Ruhe Maven installieren und die Projekte "mavenisieren"...



Was heißt "mavenisieren"? Ich habe noch nie mit Maven gearbeitet und dachte es ich könnte es "mal eben" ausprobieren.



bygones hat gesagt.:


> Damit 'mvn ...' funktioniert muss natürlich deine Maven installation in der PATH Variable eingetragen sein (höchstens in win 7 ists auf einmal anders...)



Eigentlich dachte ich, ich hätte das mit den Variablen so gemacht. Zumindest habe ich die Anleitung zu Maven versucht genau umzusetzen. Hab das extra noch nem Kollegen gezeigt, weil ich dachte, ich hätte was übersehen oder nen Schreibfehler drin oder so, aber der saß auch davor und wusste nix weiter - hatte aber auch mit Maven noch nie zu tun gehabt...



bygones hat gesagt.:


> PS: Hudson hat afaik noch nen bug dass er über die UI sich nicht komplett runterfährt... einfach den prozess beenden und neustarten.



Hudson an sich sieht ja eigentlich ganz nett aus. Sowas wie den Fehler, den Du beschreibst, hatte ich schon vermutet. Zumindest sah das "Verhalten" von Hudson nach nem Hänger aus.


----------



## Wildcard (21. Aug 2010)

bygones hat gesagt.:


> wenn du Sonar testen willst - brauchst du Maven projekte. Dann erstmal in Ruhe Maven installieren und die Projekte "mavenisieren"...


Nicht unbedingt. Das Sonar Plugin für Hudson kann dir zB on-the-fly eine POM für dein Projekt bauen mit der Sonar dann gefüttert wird. Dein Projekt selbst muss dafür nichts von Maven wissen.


----------



## bygones (23. Aug 2010)

Wildcard hat gesagt.:


> Nicht unbedingt. Das Sonar Plugin für Hudson kann dir zB on-the-fly eine POM für dein Projekt bauen mit der Sonar dann gefüttert wird. Dein Projekt selbst muss dafür nichts von Maven wissen.


ja stimmt - komplett vergessen...


----------



## Brandenburgerin (23. Aug 2010)

bygones hat gesagt.:


> Wildcard hat gesagt.:
> 
> 
> > Nicht unbedingt. Das Sonar Plugin für Hudson kann dir zB on-the-fly eine POM für dein Projekt bauen mit der Sonar dann gefüttert wird. Dein Projekt selbst muss dafür nichts von Maven wissen.
> ...



Wenn ich dem Build bei Hudson sagen, er soll nachdem erfertig ist, Sonar ausführen, bekomm ich ne Fehlermeldung, dass er Maven nicht findet. Muss Maven also trotzdem auf dem Rechner installiert sein?


----------



## bygones (23. Aug 2010)

Brandenburgerin hat gesagt.:


> Wenn ich dem Build bei Hudson sagen, er soll nachdem erfertig ist, Sonar ausführen, bekomm ich ne Fehlermeldung, dass er Maven nicht findet. Muss Maven also trotzdem auf dem Rechner installiert sein?



das auf jedenfall... sonar erstellt nur für dein projekt eine pom, welche die grundlage ist, dass ein mavensystem mit deinem projekt arbeiten kann (grob gesagt). D.h. es muss maven installiert sein


----------



## Wildcard (24. Aug 2010)

Hudson sollte Maven allerdings automatisch installieren können, wenn du das erlaubst. Geh einfach mal in das 'manage hudson' Formular, dort kannst du die Maven Installation konfigurieren.


----------



## Brandenburgerin (25. Aug 2010)

Wildcard hat gesagt.:


> Hudson sollte Maven allerdings automatisch installieren können, wenn du das erlaubst. Geh einfach mal in das 'manage hudson' Formular, dort kannst du die Maven Installation konfigurieren.



Ich habe Maven dort im Formular jetzt hinzugefügt und lasse es automatisch "von Apache" installieren. Die Version ist 2.2.1. Ich fürchte nur, dass es noch alles nicht ganz richtig ist. Wenn ich Sonar nach einem Build checken lassen will kommt das hier:


```
FATAL: command execution failed
java.net.ConnectException: Connection refused: connect
	at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
	at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
	at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
	at java.lang.reflect.Constructor.newInstance(Unknown Source)
	at sun.net.www.protocol.http.HttpURLConnection$6.run(Unknown Source)
	at java.security.AccessController.doPrivileged(Native Method)
	at sun.net.www.protocol.http.HttpURLConnection.getChainedException(Unknown Source)
	at sun.net.www.protocol.http.HttpURLConnection.getInputStream(Unknown Source)
	at org.jvnet.robust_http_client.RetryableHttpStream.getStream(RetryableHttpStream.java:75)
	at org.jvnet.robust_http_client.RetryableHttpStream.<init>(RetryableHttpStream.java:68)
	at org.jvnet.robust_http_client.RetryableHttpStream.<init>(RetryableHttpStream.java:51)
	at hudson.tools.JDKInstaller.locate(JDKInstaller.java:308)
	at hudson.tools.JDKInstaller.performInstallation(JDKInstaller.java:121)
	at hudson.tools.InstallerTranslator.getToolHome(InstallerTranslator.java:61)
	at hudson.tools.ToolLocationNodeProperty.getToolHome(ToolLocationNodeProperty.java:99)
	at hudson.tools.ToolInstallation.translateFor(ToolInstallation.java:149)
	at hudson.model.JDK.forNode(JDK.java:111)
	at hudson.model.AbstractBuild.getEnvironment(AbstractBuild.java:695)
	at hudson.tasks.Maven.perform(Maven.java:206)
	at hudson.plugins.sonar.utils.SonarMaven.executeMaven(SonarMaven.java:89)
	at hudson.plugins.sonar.SonarPublisher.executeSonar(SonarPublisher.java:367)
	at hudson.plugins.sonar.SonarPublisher.perform(SonarPublisher.java:314)
	at hudson.tasks.BuildStepMonitor$3.perform(BuildStepMonitor.java:36)
	at hudson.model.AbstractBuild$AbstractRunner.perform(AbstractBuild.java:601)
	at hudson.model.AbstractBuild$AbstractRunner.performAllBuildSteps(AbstractBuild.java:580)
	at hudson.model.AbstractBuild$AbstractRunner.performAllBuildSteps(AbstractBuild.java:558)
	at hudson.model.Build$RunnerImpl.post2(Build.java:158)
	at hudson.model.AbstractBuild$AbstractRunner.post(AbstractBuild.java:528)
	at hudson.model.Run.run(Run.java:1271)
	at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:46)
	at hudson.model.ResourceController.execute(ResourceController.java:88)
	at hudson.model.Executor.run(Executor.java:129)
Caused by: java.net.ConnectException: Connection refused: connect
	at java.net.PlainSocketImpl.socketConnect(Native Method)
	at java.net.PlainSocketImpl.doConnect(Unknown Source)
	at java.net.PlainSocketImpl.connectToAddress(Unknown Source)
	at java.net.PlainSocketImpl.connect(Unknown Source)
	at java.net.SocksSocketImpl.connect(Unknown Source)
	at java.net.Socket.connect(Unknown Source)
	at java.net.Socket.connect(Unknown Source)
	at sun.net.NetworkClient.doConnect(Unknown Source)
	at sun.net.www.http.HttpClient.openServer(Unknown Source)
	at sun.net.www.http.HttpClient.openServer(Unknown Source)
	at sun.net.www.http.HttpClient.<init>(Unknown Source)
	at sun.net.www.http.HttpClient.New(Unknown Source)
	at sun.net.www.http.HttpClient.New(Unknown Source)
	at sun.net.www.protocol.http.HttpURLConnection.getNewHttpClient(Unknown Source)
	at sun.net.www.protocol.http.HttpURLConnection.plainConnect(Unknown Source)
	at sun.net.www.protocol.http.HttpURLConnection.connect(Unknown Source)
	at sun.net.www.protocol.http.HttpURLConnection.getInputStream(Unknown Source)
	at sun.net.www.protocol.http.HttpURLConnection.getHeaderField(Unknown Source)
	at java.net.URLConnection.getHeaderFieldInt(Unknown Source)
	at java.net.URLConnection.getContentLength(Unknown Source)
	at org.jvnet.robust_http_client.RetryableHttpStream.<init>(RetryableHttpStream.java:67)
	... 22 more
Finished: FAILURE
```


----------



## bygones (25. Aug 2010)

hast du vom den Rechner aus volle zugriffsrechte ins netz ?


----------



## Brandenburgerin (25. Aug 2010)

theoretisch ja... unsere IT ist aber ein bissl sehr paranoid hier. 

Ich hab aber bei Hudson den Proxy eingetragen und mehr sollte ich fürs Netz nicht brauchen.


----------



## bygones (25. Aug 2010)

frag lieber mal nach... bei uns ist das ähnlich. Es gibt zwar einen proxy, dennoch darf nur der Browser raus. Hudson kommt bei uns trotz proxy nicht nach draussen.

Ansonsten musst du halt Maven selbst "installieren", was im Grunde nur auspacken des zips ist


----------



## Brandenburgerin (25. Aug 2010)

bygones hat gesagt.:


> Ansonsten musst du halt Maven selbst "installieren", was im Grunde nur auspacken des zips ist



siehe diesen Thread: http://www.java-forum.org/deployment/104873-maven-windows-7-a.html ;(


----------



## Brandenburgerin (25. Aug 2010)

bygones hat gesagt.:


> frag lieber mal nach... bei uns ist das ähnlich. Es gibt zwar einen proxy, dennoch darf nur der Browser raus. Hudson kommt bei uns trotz proxy nicht nach draussen.



sieht das nach fehlenden Zugriffsrechten fürs Internet aus?


```
$ mvn.bat -f pom.xml -e -B sonar:sonar
+ Error stacktraces are turned on.
[INFO] Scanning for projects...
Downloading: http://repo1.maven.org/maven2/org/apache/maven/plugins/maven-compiler-plugin/2.0.2/maven-compiler-plugin-2.0.2.pom
[WARNING] Unable to get resource 'org.apache.maven.plugins:maven-compiler-plugin:pom:2.0.2' from repository central (http://repo1.maven.org/maven2): Error transferring file: Connection refused: connect
Downloading: http://repo1.maven.org/maven2/org/apache/maven/plugins/maven-compiler-plugin/2.0.2/maven-compiler-plugin-2.0.2.pom
[WARNING] Unable to get resource 'org.apache.maven.plugins:maven-compiler-plugin:pom:2.0.2' from repository central (http://repo1.maven.org/maven2): Error transferring file: Connection refused: connect
[INFO] ------------------------------------------------------------------------
[ERROR] BUILD ERROR
[INFO] ------------------------------------------------------------------------
[INFO] Error building POM (may not be this project's POM).


Project ID: org.apache.maven.plugins:maven-compiler-plugin

Reason: POM 'org.apache.maven.plugins:maven-compiler-plugin' not found in repository: Unable to download the artifact from any repository

  org.apache.maven.plugins:maven-compiler-plugin:pom:2.0.2

from the specified remote repositories:
  central (http://repo1.maven.org/maven2)

 for project org.apache.maven.plugins:maven-compiler-plugin


[INFO] ------------------------------------------------------------------------
[INFO] Trace
org.apache.maven.lifecycle.LifecycleExecutionException: Unable to build project for plugin 'org.apache.maven.plugins:maven-compiler-plugin': POM 'org.apache.maven.plugins:maven-compiler-plugin' not found in repository: Unable to download the artifact from any repository

  org.apache.maven.plugins:maven-compiler-plugin:pom:2.0.2

from the specified remote repositories:
  central (http://repo1.maven.org/maven2)

 for project org.apache.maven.plugins:maven-compiler-plugin
	at org.apache.maven.lifecycle.DefaultLifecycleExecutor.verifyPlugin(DefaultLifecycleExecutor.java:1557)
	at org.apache.maven.lifecycle.DefaultLifecycleExecutor.getMojoDescriptor(DefaultLifecycleExecutor.java:1787)
	at org.apache.maven.lifecycle.DefaultLifecycleExecutor.segmentTaskListByAggregationNeeds(DefaultLifecycleExecutor.java:462)
	at org.apache.maven.lifecycle.DefaultLifecycleExecutor.execute(DefaultLifecycleExecutor.java:175)
	at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:328)
	at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:138)
	at org.apache.maven.cli.MavenCli.main(MavenCli.java:362)
	at org.apache.maven.cli.compat.CompatibleMain.main(CompatibleMain.java:60)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
	at java.lang.reflect.Method.invoke(Method.java:597)
	at org.codehaus.classworlds.Launcher.launchEnhanced(Launcher.java:315)
	at org.codehaus.classworlds.Launcher.launch(Launcher.java:255)
	at org.codehaus.classworlds.Launcher.mainWithExitCode(Launcher.java:430)
	at org.codehaus.classworlds.Launcher.main(Launcher.java:375)
Caused by: org.apache.maven.plugin.InvalidPluginException: Unable to build project for plugin 'org.apache.maven.plugins:maven-compiler-plugin': POM 'org.apache.maven.plugins:maven-compiler-plugin' not found in repository: Unable to download the artifact from any repository

  org.apache.maven.plugins:maven-compiler-plugin:pom:2.0.2

from the specified remote repositories:
  central (http://repo1.maven.org/maven2)

 for project org.apache.maven.plugins:maven-compiler-plugin
	at org.apache.maven.plugin.DefaultPluginManager.checkRequiredMavenVersion(DefaultPluginManager.java:293)
	at org.apache.maven.plugin.DefaultPluginManager.verifyVersionedPlugin(DefaultPluginManager.java:205)
	at org.apache.maven.plugin.DefaultPluginManager.verifyPlugin(DefaultPluginManager.java:184)
	at org.apache.maven.plugin.DefaultPluginManager.loadPluginDescriptor(DefaultPluginManager.java:1642)
	at org.apache.maven.lifecycle.DefaultLifecycleExecutor.verifyPlugin(DefaultLifecycleExecutor.java:1540)
	... 15 more
Caused by: org.apache.maven.project.ProjectBuildingException: POM 'org.apache.maven.plugins:maven-compiler-plugin' not found in repository: Unable to download the artifact from any repository

  org.apache.maven.plugins:maven-compiler-plugin:pom:2.0.2

from the specified remote repositories:
  central (http://repo1.maven.org/maven2)

 for project org.apache.maven.plugins:maven-compiler-plugin
	at org.apache.maven.project.DefaultMavenProjectBuilder.findModelFromRepository(DefaultMavenProjectBuilder.java:605)
	at org.apache.maven.project.DefaultMavenProjectBuilder.buildFromRepository(DefaultMavenProjectBuilder.java:251)
	at org.apache.maven.plugin.DefaultPluginManager.checkRequiredMavenVersion(DefaultPluginManager.java:277)
	... 19 more
Caused by: org.apache.maven.artifact.resolver.ArtifactNotFoundException: Unable to download the artifact from any repository

  org.apache.maven.plugins:maven-compiler-plugin:pom:2.0.2

from the specified remote repositories:
  central (http://repo1.maven.org/maven2)


	at org.apache.maven.artifact.resolver.DefaultArtifactResolver.resolve(DefaultArtifactResolver.java:228)
	at org.apache.maven.artifact.resolver.DefaultArtifactResolver.resolve(DefaultArtifactResolver.java:90)
	at org.apache.maven.project.DefaultMavenProjectBuilder.findModelFromRepository(DefaultMavenProjectBuilder.java:558)
	... 21 more
Caused by: org.apache.maven.wagon.ResourceDoesNotExistException: Unable to download the artifact from any repository
	at org.apache.maven.artifact.manager.DefaultWagonManager.getArtifact(DefaultWagonManager.java:404)
	at org.apache.maven.artifact.resolver.DefaultArtifactResolver.resolve(DefaultArtifactResolver.java:216)
	... 23 more
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 2 seconds
[INFO] Finished at: Wed Aug 25 15:42:02 CEST 2010
[INFO] Final Memory: 1M/15M
[INFO] ------------------------------------------------------------------------
Finished: FAILURE
```

;(


----------



## bygones (25. Aug 2010)

```
Downloading: http://repo1.maven.org/maven2/org/apache/maven/plugins/maven-compiler-plugin/2.0.2/maven-compiler-plugin-2.0.2.pom
[WARNING] Unable to get resource 'org.apache.maven.plugins:maven-compiler-plugin:pom:2.0.2' from repository central (http://repo1.maven.org/maven2): Error transferring file: Connection refused: connect
Downloading: http://repo1.maven.org/maven2/org/apache/maven/plugins/maven-compiler-plugin/2.0.2/maven-compiler-plugin-2.0.2.pom
[WARNING] Unable to get resource 'org.apache.maven.plugins:maven-compiler-plugin:pom:2.0.2' from repository central (http://repo1.maven.org/maven2): Error transferring file: Connection refused: connect
```
jo du kommst nicht ans maven repo ran...


----------



## Brandenburgerin (25. Aug 2010)

Also ich hab Maven aufn System jetzt installiert. Bei der Konfiguration von Hudson habe ich unter "Maven" der Umgebungsvariable den Homepfad hier aufn Rechner gegeben. 

Sollte er dann nicht die lokale Installation suchen? Oder braucht der noch Kram ausm Netz?


----------



## bygones (25. Aug 2010)

maven selber braucht "whole internet"... d.h. er wird auf jedenfall beim ersten mal ins netz wollen um sich alle abhaengigkeiten zu laden


----------



## maki (25. Aug 2010)

Das Problem ist immer noch die Netzwerk bzw. Proxy Konfig, war vor einem dutzend Posts auch nciht anders, deswegen hast du Maven ja manuell installieren müssen.


----------



## Brandenburgerin (25. Aug 2010)

Ich dachte, dass ne manuelle Installation ausreicht. Aber dass Maven trotzdem Internet haben will, hätte ich mir ja denken müssen...


----------



## maki (25. Aug 2010)

Lege dir eine settings.xml unter ~ /.m2 mit folgendem Inhalt an: Maven - Guide to using proxies


----------



## Brandenburgerin (26. Aug 2010)

So. Ich habe jetzt Sonar und Maven in Hudson miteinander verbunden. Danke maki, für den Hinweis mit dem Proxy unter Maven. Hudson macht auch hübsch nen Build und nichts stört sich jetzt mehr, keine Exceptions oder anderer Kram. Soweit ich das mit der Konfiguration verstanden habe, nutzt Sonar im Moment seine eigene mitgebrachte Datenbank. 

Nun wollte ich mir das Ergebnis unter Sonar anschauen, also welche Quali der Code hat, aber da steht nix drin, keine Diagramme oder ähnliches. Gibts irgendwelche Häckchen, die man setzen muss, damit der Code analysiert wird?


----------



## bygones (26. Aug 2010)

du musst in hudson noch Sonar konfigurieren bzw ihm sagen wann sonar einen build analysieren muss (zu finden unter Hudson verwalten -> System konfigurieren -> sonar)

ohne zusatz konfiguration nutzt Sonar als Datenbank ne inmemory und sein eigens definiertes Metrik-Konfigurationen.


----------



## Brandenburgerin (26. Aug 2010)

bygones hat gesagt.:


> du musst in hudson noch Sonar konfigurieren bzw ihm sagen wann sonar einen build analysieren muss (zu finden unter Hudson verwalten -> System konfigurieren -> sonar)



Soweit hab ich das auch gemacht - denke ich (siehe Bild). und im Projekt habe ich Sonar noch aktiviert


----------



## bygones (26. Aug 2010)

es fehlt schon mindestens der Sonar URL eintrag... aeh... natuerlich wenn er nicht auf dem default läuft

läuft den nach dem Hudsonbuild auch sonar an ?


----------



## Brandenburgerin (26. Aug 2010)

bygones hat gesagt.:


> es fehlt schon mindestens der Sonar URL eintrag... aeh... natuerlich wenn er nicht auf dem default läuft
> 
> läuft den nach dem Hudsonbuild auch sonar an ?



Ich hab alles auf Default - dachte jetzt, dass ich dann nix eintragen muss, oder?

Sonar läuft an, soweit ich das sehe. Hier ein Teil der letzten Ausgabe:


```
[INFO] [sonar-core:internal {execution: default-internal}]
[INFO]  Database dialect class org.sonar.api.database.dialect.Derby
[INFO]  -------------  Analyzing UMLsec
[INFO]  Selected quality profile : Sonar way, language=java
[INFO]  Configure maven plugins...
[INFO]  Sensor JavaSourceImporter...
[INFO]  Sensor JavaSourceImporter done: 0 ms
[INFO]  Sensor AsynchronousMeasuresSensor...
[INFO]  Sensor AsynchronousMeasuresSensor done: 78 ms
[INFO]  Sensor SquidSensor...
[INFO]  Sensor SquidSensor done: 280 ms
[INFO]  Sensor ProfileSensor...
[INFO]  Sensor ProfileSensor done: 32 ms
[INFO]  Sensor ProjectLinksSensor...
[INFO]  Sensor ProjectLinksSensor done: 15 ms
[INFO]  Sensor VersionEventsSensor...
[INFO]  Sensor VersionEventsSensor done: 187 ms
[INFO]  Sensor CpdSensor...
[INFO]  Sensor CpdSensor done: 156 ms
[INFO]  Sensor Maven dependencies...
[INFO]  Sensor Maven dependencies done: 0 ms
[INFO]  Sensor SurefireSensor...
[INFO]  parsing C:\Users\Brandenburgerin\.hudson\jobs\UMLsec\workspace\viki_source\target\surefire-reports
[INFO]  Sensor SurefireSensor done: 16 ms
[INFO]  Execute decorators...
[INFO]  ANALYSIS SUCCESSFUL, you can browse http://localhost:9000
[INFO]  Database optimization...
[INFO]  Database optimization done: 218 ms
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESSFUL
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 2 minutes 59 seconds
[INFO] Finished at: Thu Aug 26 19:24:01 CEST 2010
[INFO] Final Memory: 12M/33M
[INFO] ------------------------------------------------------------------------
Finished: SUCCESS
```


----------

