我收到这个错误,我发现许多线程有相同的消息,但它似乎永远不符合我的情况,我没有经理解决它.
基本上,一切都没问题,直到我尝试制作1个表单来创建和更新'Car'对象.
这是我的应用程序的演示文稿(从此模板构建:https://github.com/linnovate/mean):
/public/js/config.js:
[...]
.state('edit car', {
url: '/cars/:carId/edit',
templateUrl: 'views/cars/edit.html'
})
.state('create car', {
url: '/cars/create',
templateUrl: 'views/cars/edit.html'
})
Run Code Online (Sandbox Code Playgroud)
/public/js/services/mycars.js(真的不知道用于...的服务):
//Cars service used for car REST endpoint
angular.module('mean.mycars').factory('Cars', ['$resource', function($resource) {
return $resource('cars/:carId', {
carId: '@_id'
}, {
update: {
method: 'PUT'
}
});
}]);
Run Code Online (Sandbox Code Playgroud)
公共/ JS /控制器/ mycars.js:
angular.module('mean.mycars').controller('MyCarsController', ['$scope', '$http', '$stateParams', '$location', 'Global', 'Cars',
function ($scope, $http, $stateParams, $location, Global, Cars) {
$scope.findOneOrCreate = function () {
// create a new car …
Run Code Online (Sandbox Code Playgroud) 我正在关注ng-table的第一个例子(http://bazalt-cms.com/ng-table/example/1).
除了tableParams之外,一切似乎都有效.只要我将其包含在控制器中,页面中就不会显示任何内容.
示例和我的代码之间的区别是我从json服务加载数据:
angular.module('mean.cars').controller('CarsController', ['$scope', '$stateParams', '$location', 'Global', 'Cars',
function ($scope, $stateParams, $location, Global, Cars, ngTableParams) {
$scope.global = Global;
var data = Cars.query();
$scope.tableParams = new ngTableParams({
page: 1, // show first page
count: 10 // count per page
}, {
total: data.length, // length of data
getData: function($defer, params) {
$defer.resolve(data.slice((params.page() - 1) * params.count(), params.page() * params.count()));
}
});
Run Code Online (Sandbox Code Playgroud)
Cars.query(); 运作良好(测试过).那我错过了什么?有一个javascript错误:"undefined不是函数出现"在以下行:
$scope.tableParams = new ngTableParams({
Run Code Online (Sandbox Code Playgroud) 在此项目上:https : //gitlab.com/tyvain/parcoursup/tree/master
我有一个代码质量阶段:
code_quality:
stage: code_quality
image: docker:stable
variables:
DOCKER_DRIVER: overlay2
allow_failure: true
services:
- docker:stable-dind
script:
- export SP_VERSION=$(echo "$CI_SERVER_VERSION" | sed 's/^\([0-9]*\)\.\([0-9]*\).*/\1-\2-stable/')
- docker run
--env SOURCE_CODE="$PWD"
--volume "$PWD":/code
--volume /var/run/docker.sock:/var/run/docker.sock
"registry.gitlab.com/gitlab-org/security-products/codequality:$SP_VERSION" /code
artifacts:
paths: [gl-code-quality-report.json]
Run Code Online (Sandbox Code Playgroud)
这个阶段总是以“过去”结束。日志:https://gitlab.com/tyvain/parcoursup/-/jobs/94665791
我怀疑我的代码是否完美,因此应该在某处存在一些代码质量问题。
代码质量报告应该在哪里输出?
此参数是什么:“路径:[gl-code-quality-report.json]”?
1/ 工作代码:
public Student process (int id, name){
Optional<Student> studentOpt = myrepo.findById(id);
studentOpt.isPresent() {
return updateStudent(id, name);
} else {
return createStudent(id, name);
}
Run Code Online (Sandbox Code Playgroud)
2/ 我尝试将其更改为“完整的 lambdas 代码”(不起作用):
public Student process (int id, name){
Optional<Student> studentOpt = myrepo.findById(id);
return studentOpt.ifPresentOrElse(student-> return updateStudent(id, name), () -> return createStudent(id, name));
}
Run Code Online (Sandbox Code Playgroud)
1/ 我应该将其更改为完整的 lambda 吗?什么是最干净的?
2/ 如果是,如何?
我正在使用此注释在我的应用程序中显示构建版本:
@Autowired BuildProperties buildProperties;
...
log.info("Startup finish - {}", buildProperties.getVersion());
Run Code Online (Sandbox Code Playgroud)
使用这个 Maven 插件:
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<configuration>
<executable>true</executable>
</configuration>
<executions>
<execution>
<goals>
<goal>build-info</goal>
</goals>
Run Code Online (Sandbox Code Playgroud)
它在应用程序中运行良好,但阻止我的测试运行。
这是测试类配置:
@RunWith(SpringRunner.class)
public class MyRepoReaderTest {
Run Code Online (Sandbox Code Playgroud)
我添加文件 src/test/resources/META-INF/build-info.properties
但构建仍然有错误:
java.lang.IllegalStateException: Failed to load ApplicationContext
at org.springframework.test.context.cache.DefaultCacheAwareContextLoaderDelegate.loadContext(DefaultCacheAwareContextLoaderDelegate.java:125)
at org.springframework.test.context.support.DefaultTestContext.getApplicationContext(DefaultTestContext.java:108)
at org.springframework.test.context.support.DependencyInjectionTestExecutionListener.injectDependencies(DependencyInjectionTestExecutionListener.java:117)
at org.springframework.test.context.support.DependencyInjectionTestExecutionListener.prepareTestInstance(DependencyInjectionTestExecutionListener.java:83)
at org.springframework.boot.test.autoconfigure.SpringBootDependencyInjectionTestExecutionListener.prepareTestInstance(SpringBootDependencyInjectionTestExecutionListener.java:44)
at org.springframework.test.context.TestContextManager.prepareTestInstance(TestContextManager.java:246)
at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.createTest(SpringJUnit4ClassRunner.java:227)
at org.springframework.test.context.junit4.SpringJUnit4ClassRunner$1.runReflectiveCall(SpringJUnit4ClassRunner.java:289)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.methodBlock(SpringJUnit4ClassRunner.java:291)
at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.runChild(SpringJUnit4ClassRunner.java:246)
at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.runChild(SpringJUnit4ClassRunner.java:97)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268)
at org.springframework.test.context.junit4.statements.RunBeforeTestClassCallbacks.evaluate(RunBeforeTestClassCallbacks.java:61)
at org.springframework.test.context.junit4.statements.RunAfterTestClassCallbacks.evaluate(RunAfterTestClassCallbacks.java:70)
at org.junit.runners.ParentRunner.run(ParentRunner.java:363)
at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.run(SpringJUnit4ClassRunner.java:190) …
Run Code Online (Sandbox Code Playgroud) 我有一个使用gitlab构建的maven项目.创建标记时,我运行'mvn package'.这会创建一个jar,然后在服务器上复制并启动. - >这一切都很好.
现在我想在发行说明中自动添加此标记与之前标记之间发生的所有提交,以便我知道此标记中部署了什么.
如何在CI期间做到这一点?
我试图运行一个简单的mapdb示例,但得到错误:
Exception in thread "main" java.lang.NoClassDefFoundError: kotlin/jvm/internal/Intrinsics
at org.mapdb.DBMaker.fileDB(DBMaker.kt)
at leechies.Truc.main(Truc.java:9)
Caused by: java.lang.ClassNotFoundException: kotlin.jvm.internal.Intrinsics
at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
... 2 more
Run Code Online (Sandbox Code Playgroud)
我的课:
package leechies;
import java.util.concurrent.ConcurrentMap;
import org.mapdb.DB;
import org.mapdb.DBMaker;
public class Truc {
public static void main(String[] args) {
DB db = DBMaker.fileDB("file.db").make();
ConcurrentMap map = db.hashMap("map").createOrOpen();
map.put("something", "here");
db.close();
}
}
Run Code Online (Sandbox Code Playgroud)
我的pomx.xml
<dependencies>
<dependency>
<groupId>org.mapdb</groupId>
<artifactId>mapdb</artifactId>
<version>3.0.3</version>
</dependency>
Run Code Online (Sandbox Code Playgroud)
我运行rigth click - > Run as ... - > java application.
这个类显示信息:
// display line numbers from a file
display(getLineNumber(myFile));
// display users from DB
display(getUsersName(myDBRepository));
Run Code Online (Sandbox Code Playgroud)
等等...
我想制作一个通用接口,这样我就可以将显示信息的代码具体化。
然后我可以做这样的事情:
myInformationElements.stream().forEach(e -> display(e.getValue());
Run Code Online (Sandbox Code Playgroud)
这是我到目前为止所拥有的(不工作):
public interface InformationElement {
public <T> String getValue (T param);
}
public class NbFileLineInformationElement implements InformationElement{
@Override
public <File> String getValue(File param) {
return *same code as in getLineNumber(myFile)*;
}
}
public class UserInformationElement implements InformationElement{
@Override
public <UserRepository> String getValue(UserRepository param) {
return *same code as in getUsersName(myDBRepository)*;
}
}
Run Code Online (Sandbox Code Playgroud)
我对“如何正确执行此操作”有点困惑:
// return true: if present and number of lines != 0
boolean isValid(Optional<File> optFile) {
return optFile.ifPresentOrElse(f -> return !isZeroLine(f), return false);
}
private boolean isZeroLine(File f) {
return MyFileUtils.getNbLinesByFile(f) == 0;
}
Run Code Online (Sandbox Code Playgroud)
我知道语法不正确并且无法编译,但这只是为了让您了解这个想法。
我怎样才能把它变成“干净的代码”?即避免这样做:
if (optFile.isPresent()) {//} else {//}
Run Code Online (Sandbox Code Playgroud) 我试图在arch linux mini计算机(cubox)上安装mean.io堆栈.所以我安装了nodejs和mongodb软件包.
我用Git检索堆栈,进行了npm安装(没关系)但是接着:
输入'grunt'后我收到此错误:
[nodemon] v1.2.1
[nodemon] to restart at any time, enter `rs`
[nodemon] watching: *.*
[nodemon] starting `node --debug server.js`
debugger listening on port 5858
{ [Error: Cannot find module '../build/Release/bson'] code: 'MODULE_NOT_FOUND' }
js-bson: Failed to load c++ bson extension, using pure JS version
fs.js:439
return binding.open(pathModule._makeLong(path), stringToFlags(flags), mode);
^
Error: ENOENT, no such file or directory '/projects/mean/bower_components/jquery/dist/jquery.min.map'
at Object.fs.openSync (fs.js:439:18)
at Object.fs.readFileSync (fs.js:290:15)
at module.exports (/projects/mean/node_modules/meanio/lib/bootstrap.js:31:27)
at /projects/mean/node_modules/meanio/lib/mean.js:20:27
at Config.onPackageRead (/projects/mean/node_modules/meanio/lib/config.js:101:25)
at Promise.<anonymous> (/projects/mean/node_modules/mongoose/node_modules/mpromise/lib/promise.js:177:8)
at …
Run Code Online (Sandbox Code Playgroud)