Справка об этой ошибке: Ошибка во время выполнения sbt: java.lang.NoClassDefFoundError: scala/ScalaObject

#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>