#scala #lift
#scala #поднимите
Вопрос:
Привет, я пытался загрузить lift 2.4 с http://liftweb.net/download .Я точно следую инструкциям, но у меня возникает следующая ошибка
C:> cd поднять
C:lift >cd scala_28
C:liftscala_28 >cd lift_basic
C:liftscala_28lift_basic > обновление sbt ~ jetty-run
C:liftscala_28lift_basic > установить SCRIPT_DIR=C:liftscala_28lift_basic
C:liftscala_28lift_basic > java -XX: CMSClassUnloadingEnabled -XX:MaxPermSize=2 56m -Xmx512M -Xss2M -jar «C:liftscala_28lift_basicsbt-launcher.jar » обновить ~ jetty-запустить java.lang.NoClassDefFoundError: scala / ScalaObject в java.lang.ClassLoader.defineClass1(собственный метод) в java.lang.ClassLoader.defineClassCond(ClassLoader.java:632) в java.lang.ClassLoader.defineClass(ClassLoader.java:616) в java.security.SecureClassLoader.defineClass(SecureClassLoader.java: 14,1) в java.net.URLClassLoader.defineClass(URLClassLoader.java:283) в java.net.URLClassLoader.access$ 000 (URLClassLoader.java:58) в java.net.URLClassLoader$ 1.запустите (URLClassLoader.java: 197) в java.security.AccessController.Допривилегирован (собственный метод) в java.net.URLClassLoader.FindClass(URLClassLoader.java:190) в java.lang.ClassLoader.loadClass(ClassLoader.java:307) в java.lang.ClassLoader.loadClass(ClassLoader.java:248) в java.lang.ClassLoader.defineClass1(собственный метод) в java.lang.ClassLoader.defineClassCond(ClassLoader.java:632) в java.lang.ClassLoader.defineClass(ClassLoader.java:616) в java.Безопасность.SecureClassLoader.defineClass(SecureClassLoader.java: 14,1) в java.net.URLClassLoader.defineClass(URLClassLoader.java:283) в java.net.URLClassLoader.access$ 000 (URLClassLoader.java:58) в java.net.URLClassLoader$ 1.запустите (URLClassLoader.java: 197) в java.security.AccessController.Допривилегирован (собственный метод) в java.net.URLClassLoader.FindClass(URLClassLoader.java:190) в java.lang.ClassLoader.loadClass(ClassLoader.java:307) в java.lang.ClassLoader.loadClass(ClassLoader.java:248) в java.lang.Class.forName0(собственный метод) в java.lang.Class.forName(Class.java:247) в xsbt.boot.Провайдер $.class пропускает $ 1 (Provider.scala:71) при загрузке xsbt.Provider $$anonfun$getMissing $ 1.применить (Provider.scala: 72) в xsbt.boot.Provider $$anonfun$getMissing $1.примените (Provider.scala: 72) к scala.List.filter(List.scala: 859) к xsbt.boot.Provider $.getMissing(Provider.scala: 72) в xsbt.boot.Provider$initialize.call(Provider.scala:37) в xsbt.boot.Provider$initialize.call(Provider.scala:32) в xsbt.boot.Блокирует $ GlobalLock.с каналом $ 1 (Locks.scala: 63) в xsbt.загрузитесь.Блокирует $ GlobalLock $$anonfun $с помощью FileLock$ 1.применить(Locks.scala: 67) при загрузке xsbt.Блокирует $ GlobalLock $$anonfun $с помощью FileLock$ 1.применить(Locks.scala: 67) при загрузке xsbt.Используя $.withResource (используя.scala:11) в xsbt.boot.Используя $.apply(Используя.scala: 10) в xsbt.boot.Блокирует $ GlobalLock.с помощью FileLock(Locks.scala:67) при загрузке xsbt.Блокирует $ GlobalLock.liftedTree1 на 1 доллар (Locks.scala: 45) при загрузке xsbt.Блокирует $ GlobalLock.withLock(Locks.scala:45) при загрузке xsbt.Блокирует $.apply(Locks.scala:31) при загрузке xsbt.Provider$class.$init $(Provider.scala: 31) в xsbt.boot.Запустите$ScalaProvider.(Launch.scala:80) при xsbt.boot.Запустите $$anonfun $ 1.примените (Launch.scala: 72) в xsbt.boot.Запустите $$anonfun $ 1.примените (Launch.scala: 72) в xsbt.boot.Кэш.Новый ввод (Cache.scala: 17) в xsbt.boot.Cache.getFromReference(Cache.scala:13) в xsbt.boot.Cache.apply(Cache.scala:12) при загрузке xsbt.Запустите.getScala(Launch.scala:73) при загрузке xsbt.Запустите $.run(Launch.scala:48) при загрузке xsbt.Запустите $$anonfun$explicit$1.примените(Launch.scala: 42) в xsbt.boot.Запустите $$anonfun$explicit$1.примените(Launch.scala: 42) в xsbt.загрузитесь.Запустите $.запустите (Launch.scala:57) при загрузке xsbt.Запустите $.explicit(Launch.scala:42) при загрузке xsbt.Запустите $.initialized(Launch.scala:38) при загрузке xsbt.Запустите $.parsed(Launch.scala:31) в xsbt.boot.Запустите $.сконфигурированный(Launch.scala:21) в xsbt.boot.Запустите $.apply(Launch.scala:16) в xsbt.boot.Запустите $.apply(Launch.scala:13) в xsbt.boot.Загрузите $.runImpl (Boot.scala: 24) в xsbt.boot.Boot$.run(Boot.scala:19) в xsbt.boot.Загрузите $.main (Boot.scala:15) в xsbt.boot.Boot.main(Boot.scala), вызванная: java.lang.Исключение ClassNotFoundException: scala.ScalaObject в java.net.URLClassLoader$ 1.запустите(URLClassLoader.java: 202) в java.security.AccessController.Допривилегирован (собственный метод) в java.net.URLClassLoader.FindClass(URLClassLoader.java:190) в java.lang.ClassLoader.loadClass(ClassLoader.java:307) в java.lang.ClassLoader.loadClass(ClassLoader.java:248)
... 62 more
Ошибка во время выполнения sbt: java.lang.NoClassDefFoundError: scala/ScalaObject
Вы знаете, что происходит не так с последней строкой?Может быть, что-то на моем ПУТИ?
Мой путь таков C:Javascala;%JAVA_HOME%bin
JAVA_HOME C:Javajdk1.6.0_22
Где в ‘scala’ у меня есть scala 2.8.0 final.
Ответ №1:
Попробуйте поднять 2.4-M1 с помощью Scala 2.9.0-1.
Файл в каталоге вашего проекта …/project/build.properties может содержать следующую конфигурацию
project.organization=Home
project.name=scala-lift
sbt.version=0.7.7
project.version=1.0
build.scala.versions=2.9.0-1
project.initialize=false
Выполнить
sbt update
У меня есть работающие Scala 2.9.0-1, SBT 0.7.7, Lift 2.4-M1 (Maven очень помогает с зависимостями)
Мой файл maven pom.xml (может быть, многословно, но у меня это работает):
<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/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>by.degree</groupId>
<artifactId>scala-sbt-lift</artifactId>
<version>1.0</version>
<packaging>war</packaging>
<name>Scala-Sbt-Lift</name>
<inceptionYear>2010</inceptionYear>
<properties>
<scala.version>2.9.0-1</scala.version>
<jetty.version>6.1.26</jetty.version>
<net.liftweb.version>2.4-M1</net.liftweb.version>
<scala.specs.version>1.6.8</scala.specs.version>
<!-- Common plugin settings -->
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>${project.build.sourceEncoding}</project.reporting.outputEncoding>
<!-- vscaladoc settings -->
<maven.scaladoc.vscaladocVersion>1.2-m1</maven.scaladoc.vscaladocVersion>
<vscaladoc.links.liftweb.pathsufix>scaladocs/</vscaladoc.links.liftweb.pathsufix>
<vscaladoc.links.liftweb.baseurl>http://scala-tools.org/mvnsites/liftweb</vscaladoc.links.liftweb.baseurl>
</properties>
<repositories>
<repository>
<id>scala-tools.org</id>
<name>Scala-Tools Maven2 Repository</name>
<url>http://scala-tools.org/repo-releases</url>
</repository>
<repository>
<id>scala-tools.releases</id>
<name>Scala-Tools Dependencies Repository for Releases</name>
<url>http://scala-tools.org/repo-releases</url>
</repository>
</repositories>
<pluginRepositories>
<pluginRepository>
<id>scala-tools.org</id>
<name>Scala-Tools Maven2 Repository</name>
<url>http://scala-tools.org/repo-releases</url>
</pluginRepository>
<pluginRepository>
<id>scala-tools.releases</id>
<name>Scala-Tools Plugins Repository for Releases</name>
<url>http://scala-tools.org/repo-releases</url>
</pluginRepository>
</pluginRepositories>
<dependencies>
<dependency>
<groupId>org.scala-lang</groupId>
<artifactId>scala-library</artifactId>
<version>${scala.version}</version>
</dependency>
<dependency>
<groupId>net.liftweb</groupId>
<artifactId>lift-mapper_${scala.version}</artifactId>
<version>${net.liftweb.version}</version>
</dependency>
<dependency>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-classic</artifactId>
<version>0.9.26</version>
</dependency>
<dependency>
<groupId>com.h2database</groupId>
<artifactId>h2</artifactId>
<version>1.2.138</version>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>servlet-api</artifactId>
<version>2.5</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.7</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.scala-tools.testing</groupId>
<artifactId>specs_${scala.version}</artifactId>
<version>${scala.specs.version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.mortbay.jetty</groupId>
<artifactId>jetty</artifactId>
<version>${jetty.version}</version>
<scope>test</scope>
</dependency>
<!-- for LiftConsole -->
<dependency>
<groupId>org.scala-lang</groupId>
<artifactId>scala-compiler</artifactId>
<version>${scala.version}</version>
<scope>test</scope>
</dependency>
</dependencies>
<build>
<sourceDirectory>src/main/scala</sourceDirectory>
<testSourceDirectory>src/test/scala</testSourceDirectory>
<plugins>
<plugin>
<groupId>org.scala-tools</groupId>
<artifactId>maven-scala-plugin</artifactId>
<version>2.14.3</version>
<configuration>
<charset>${project.build.sourceEncoding}</charset>
<jvmArgs>
<jvmArg>-Xmx1024m</jvmArg>
<jvmArg>-DpackageLinkDefs=file://${project.build.directory}/packageLinkDefs.properties</jvmArg>
</jvmArgs>
</configuration>
<executions>
<execution>
<goals>
<goal>compile</goal>
<goal>testCompile</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-resources-plugin</artifactId>
<version>2.4.2</version>
<executions>
<execution>
<id>default-copy-resources</id>
<phase>process-resources</phase>
<goals>
<goal>copy-resources</goal>
</goals>
<configuration>
<overwrite>true</overwrite>
<outputDirectory>${project.build.directory}</outputDirectory>
<resources>
<resource>
<directory>${project.basedir}/src</directory>
<includes>
<include>packageLinkDefs.properties</include>
</includes>
<filtering>true</filtering>
</resource>
</resources>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.mortbay.jetty</groupId>
<artifactId>maven-jetty-plugin</artifactId>
<version>${jetty.version}</version>
<configuration>
<contextPath>/</contextPath>
<scanIntervalSeconds>5</scanIntervalSeconds>
</configuration>
</plugin>
<plugin>
<groupId>net.sf.alchim</groupId>
<artifactId>yuicompressor-maven-plugin</artifactId>
<version>0.7.1</version>
<executions>
<execution>
<goals>
<goal>compress</goal>
</goals>
</execution>
</executions>
<configuration>
<nosuffix>true</nosuffix>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-idea-plugin</artifactId>
<version>2.2</version>
<configuration>
<downloadSources>true</downloadSources>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-eclipse-plugin</artifactId>
<version>2.7</version>
<configuration>
<downloadSources>true</downloadSources>
<additionalProjectnatures>
<projectnature>ch.epfl.lamp.sdt.core.scalanature</projectnature>
</additionalProjectnatures>
<additionalBuildcommands>
<buildcommand>ch.epfl.lamp.sdt.core.scalabuilder</buildcommand>
</additionalBuildcommands>
<classpathContainers>
<classpathContainer>ch.epfl.lamp.sdt.launching.SCALA_CONTAINER</classpathContainer>
<classpathContainer>org.eclipse.jdt.launching.JRE_CONTAINER</classpathContainer>
</classpathContainers>
</configuration>
</plugin>
</plugins>
</build>
<reporting>
<plugins>
<plugin>
<groupId>org.scala-tools</groupId>
<artifactId>maven-scala-plugin</artifactId>
<version>2.14.3</version>
<configuration>
<charset>${project.build.sourceEncoding}</charset>
<jvmArgs>
<jvmArg>-Xmx1024m</jvmArg>
<jvmArg>-DpackageLinkDefs=file://${project.build.directory}/packageLinkDefs.properties</jvmArg>
</jvmArgs>
</configuration>
</plugin>
</plugins>
</reporting>