Maven Anfang : Scala Integration

Spin

Top Contributor
Hallo liebe Leute,

ich wollte mit Maven anfangen Scala zu deployen aber es geht nicht 😉

Maven For Beginners | The Scala Programming Language

Ich habe alles so gemacht und würde mir gerne das default layout so runterladen.

Ich mache also : mvn archetype:generate

Dann bekomme ich eine Liste und wähle dann den Eintrag mit scala.
Nun bekomme ich einen Ordner und auch noch einen usw.

Ich möchte genau die Struktur wie sie dort abgebildet ist. Muss ich dazu alles selbst anlegen?
Danke für die Hilfe 🙂

grüße spin
 
Hi,

die Struktur in der POM ist nicht so wie sie sein sollte, da die Artefakte von scala mitlerweile in Maven Central liegen und somit die Angaben pluginRepository, Repository nicht mehr notwendig sind. Der Blog Post ist schon ein wenig älter...

Laufen sollte das trotzdem....

Du kannst ja mal die POM hier Posten wenn Probleme auftreten...

Gruß
Karl Heinz Marbaise
 
Hallo Karl,

und zwar habe ich folgende Ausgabe:

Code:
PS C:\Users\scalaArtefactId> mvn compile
[INFO] Scanning for projects...
[WARNING]
[WARNING] Some problems were encountered while building the effective model for scala:scalaArtefactId:jar:1.0-SNAPSHOT
[WARNING] 'build.plugins.plugin.version' for org.apache.maven.plugins:maven-eclipse-plugin is missing. @ line 89, column
 15
[WARNING]
[WARNING] It is highly recommended to fix these problems because they threaten the stability of your build.
[WARNING]
[WARNING] For this reason, future Maven versions might no longer support building such malformed projects.
[WARNING]
[INFO]
[INFO] ------------------------------------------------------------------------
[INFO] Building Camel :: A RouteBuilder for the Scala DSL 1.0-SNAPSHOT
[INFO] ------------------------------------------------------------------------
[INFO]
[INFO] --- maven-resources-plugin:2.4.3:resources (default-resources) @ scalaArtefactId ---
[WARNING] Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
[INFO] Copying 2 resources
[INFO]
[INFO] --- maven-compiler-plugin:2.3.2:compile (default-compile) @ scalaArtefactId ---
[INFO] Nothing to compile - all classes are up to date
[INFO]
[INFO] --- maven-scala-plugin:2.15.1:compile (default) @ scalaArtefactId ---
[INFO] Checking for multiple versions of scala
[INFO] includes = [**/*.scala,**/*.java,]
[INFO] excludes = []
[INFO] C:\Users\smalek\scalaArtefactId\src\main\scala:-1: info: compiling
[INFO] Compiling 2 source files to C:\Users\scalaArtefactId\target\classes at 1316177474248
[INFO] prepare-compile in 0 s
[INFO] compile in 6 s
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 11.331s
[INFO] Finished at: Fri Sep 16 14:51:20 CEST 2011
[INFO] Final Memory: 5M/15M
[INFO] ------------------------------------------------------------------------
PS C:\Users\scalaArtefactId>


Er kompiliert den kram, aber wie kann ich den anschließend testen. Also zum Besipiel eine Methode aufrufen die kompiliert wurde.

Und was sollen die ganzen warnings? Ich hatte mir doch das aktuelle Maven runtergeladen.
Danke für deine Hilfe.
 
Zuletzt bearbeitet:
Hi,

Karl Heinz ;-) So viel Zeit muss sein ;-)


Code:
[WARNING]
[WARNING] Some problems were encountered while building the effective model for scala:scalaArtefactId:jar:1.0-SNAPSHOT
[WARNING] 'build.plugins.plugin.version' for org.apache.maven.plugins:maven-eclipse-plugin is missing. @ line 89, column
 15
[WARNING]
[WARNING] It is highly recommended to fix these problems because they threaten the stability of your build.
[WARNING]
[WARNING] For this reason, future Maven versions might no longer support building such malformed projects.
[WARNING]
Die Warnung kommt daher, dass hier ein Plugin benutzt wird aber OHNE die Version des Plugins zu definieren...Einfach <version>...</version> hinzufügen....

ABER: Warum verwendest Du das maven-eclipse-plugin überhaupt ? Dazu gibt es das Maven Plugin für Eclipse ....

Code:
[INFO]
[INFO] --- maven-resources-plugin:2.4.3:resources (default-resources) @ scalaArtefactId ---
[WARNING] Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
Das kann einfach dadurch beseitigt werden, dass man das Folgende in die POM einbringt:
Code:
 <properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
  </properties>



Er kompiliert den kram, aber wie kann ich den anschließend testen. Also zum Besipiel eine Methode aufrufen die kompiliert wurde.
Indem Du einen Unit Test schreibst...und unter src/test/java ? Besser Du liest die Anleitungen zum Scala-Plugin:
maven-scala-plugin - Example

Gruß
Karl Heinz Marbaise
 
Code:
[WARNING] 'build.plugins.plugin.version' for org.apache.maven.plugins:maven-eclipse-plugin is missing.
Irgendwie blick ich nicht ganz durch, was du da treibst^^ 🙂

Hast Du dir Eclipse runtergeladen und das scala eclipse plugin installiert oder wie ist das?
Wenn Du Eclipse hast, dann sollte die dortige Funktionalität zum kompilieren von deinen drei-vier Dateien völlig ausreichen.
Wenn du das ohne eclipse einfach direkt von der Konsole aus machst, dann versteh' ich nicht so recht, wieso da der begriff "eclipse" in deiner Ausgabe auftaucht.

Er kompiliert den kram, aber wie kann ich den anschließend testen. Also zum Besipiel eine Methode aufrufen die kompiliert wurde.
Willst du was "testen", oder willst du einfach etwas laufen lassen? Der Begriff "testen" ist schon belegt, und hat eine ganz klare Bedeutung. Wenn du lediglich etwas ausführen willst, dann kannst du das zumindest wie immer direkt mit dem
Code:
scala
-Programm machen, würde in der konsole etwa so aussehen:
Code:
blahblahblah\rootFolderOfMyProject> scala -cp target\classes org.myProject.packageWhereTheClassIs.MyMainClass
Dann wird die klasse ausgeführt.
 

Zurück
Oben