小编gan*_*fml的帖子

Liquibase看不到实体的变化

我正在尝试使用liquibase配置简单的maven项目.liquibase-maven-plugin和liquibase-hibernate4的版本存在很多问题,它们不会产生大量的堆栈跟踪,但最后我几乎可以使用它.但是当我执行mvn liquibase:diff时,它以消息结束liquibase: No changes found, nothing to do.

这是我的pom:

<?xml version="1.0" encoding="UTF-8"?>
<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/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>pl.mlewando.ff</groupId>
    <artifactId>liquibase_test</artifactId>
    <version>1.0</version>

    <dependencies>
        <dependency>
            <groupId>org.springframework.data</groupId>
            <artifactId>spring-data-jpa</artifactId>
            <version>1.7.0.RELEASE</version>
        </dependency>
        <dependency>
            <groupId>org.hibernate</groupId>
            <artifactId>hibernate-entitymanager</artifactId>
            <version>4.3.6.Final</version>
        </dependency>

        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
            <version>1.14.8</version>
        </dependency>

        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>5.1.32</version>
        </dependency>

    </dependencies>

    <build>
        <plugins>
            <plugin>
                <groupId>org.liquibase</groupId>
                <artifactId>liquibase-maven-plugin</artifactId>
                <version>3.2.1</version>
                <configuration>
                    <changeLogFile>src/main/resources/db/db.changelog.xml</changeLogFile>
                    <diffChangeLogFile>src/main/resources/db/generated-db.changelog.xml</diffChangeLogFile>
                    <driver>com.mysql.jdbc.Driver</driver>
                    <url>jdbc:mysql://localhost:3306/liquibase_test?characterEncoding=utf8</url>
                    <username>root</username>
                    <password>root</password>
                    <referenceUrl>hibernate:spring:pl.mlewando.ff.model?dialect=org.hibernate.dialect.MySQL5InnoDBDialect</referenceUrl>
                    <verbose>true</verbose>
                    <logging>debug</logging>
                </configuration>
                <dependencies>
                    <dependency>
                        <groupId>org.liquibase.ext</groupId>
                        <artifactId>liquibase-hibernate4</artifactId>
                        <version>3.4</version>
                    </dependency>

                    <dependency>
                        <groupId>mysql</groupId>
                        <artifactId>mysql-connector-java</artifactId>
                        <version>5.1.32</version>
                    </dependency>

                    <dependency>
                        <groupId>org.springframework.data</groupId>
                        <artifactId>spring-data-jpa</artifactId>
                        <version>1.7.0.RELEASE</version>
                    </dependency>
                    <dependency>
                        <groupId>org.hibernate</groupId> …
Run Code Online (Sandbox Code Playgroud)

java spring hibernate liquibase maven

13
推荐指数
1
解决办法
2938
查看次数

在Wildfly中配置logback

我有可怕的问题要弄清楚如何在Wildfly 10.我的Java EE应用程序通过的logback配置日志我试图把slf4j-api-1.7.21.jar,logback-classic-1.1.7.jarlogback-core-1.1.7.jar在我耳边的/lib/,加logback.xml在我的EJB模块的资源,并添加jboss-deployment-structure.xml到我的耳朵META-INF.它几乎可以工作...... Logback创建我的日志文件并正确登录它们.不幸的是,登录控制台工作很奇 看起来像wildfly连接的默认模式与我的模式来自logback配置.

之后我尝试将logback作为模块放入wildfly中.我添加了模块org.slf4jch.qos.logback.我也让模块org.jboss.logging取决于他们.配置文件(logback.xml)已放入$JBOSS_HOME/standalone/configuration-Dlogback.configurationFile=$JBOSS_HOME/standalone/configuration/logback.xml已添加到JAVA_OPTS.不幸的是,这项工作也一样.

我试图尝试上面两种方法的许多组合.我已经尝试了不同jboss-deployment-structure.xml的模块配置和不同配置,但它们都不起作用.我在https://github.com/mlewando/jboss-logback将我的示例项目推送到github .我制作了两个标签:LOGBACK_IN_APP第一种方法和LOGBACK_IN_SERVER第二种方式.

如果有人知道我做错了什么,我真的很高兴.我开始有点时间了.我一直在谷歌谷歌搜索和尝试和错误将近4天,它必须工作到星期三.我将非常感谢任何帮助.

更新:在发布此问题之后,我发现了一些关于相同情况的其他问题:Logback + Wildfly 8 - 错误的模式(一如既往,我在提出自己的问题之后找到了正确的问题......).它解释了我的问题,但没有解决它.按照我在那里找到的答案的建议后,我最终没有登录控制台.

logback slf4j java-ee wildfly-10

6
推荐指数
0
解决办法
1240
查看次数

确保在打字稿界面中存在可选属性

我有一个关于接口的 typescript 可选属性的问题。假设以下代码:

interface Test {
    prop1: string;
    prop2?: string;
}

function someFunction(data: {prop1: string, prop2: string}) {
    console.log(data.prop1 + ": " + data.prop2);
}

function otherFunction(data: Test) {
    if (data.prop2) {
        someFunction(data); // prop2 might be undefined!
    }
}
Run Code Online (Sandbox Code Playgroud)

并将严格模式设置为 true。

打字稿给了我以下错误:

Argument of type 'Test' is not assignable to parameter of type '{ prop1: string; prop2: string; }'.
    Property 'prop2' is optional in type 'Test' but required in type '{ prop1: string; prop2: string; }'.
Run Code Online (Sandbox Code Playgroud)

问题是:为什么会这样?如果断言,为什么打字稿不理解这一点?

首先,我很想了解为什么?但如果可能的话,还有一些不产生任何额外运行时代码或大量类型断言的解决方法会很好吗?

typescript

6
推荐指数
1
解决办法
7960
查看次数

在vagrant和docker中调试spring boot

我正在尝试基于docker和vagrant为spring-boot项目设置开发环境.我在Windows上使用的IntelliJ运行编写代码和流浪者,以便能够在Docker容器任何系统上运行的项目.我正在用maven建立项目.目前,我可以通过vagrant运行在ubuntu上运行的docker容器中的jar包装的应用程序.我无法弄明白如何在IntelliJ中调试我的应用程序,我启动应用程序进行远程调试,正确(或至少我认为我做得对)配置端口转发,但IntelliJ仍然告诉我"连接重置",但不能连接到调试器.

这是我的Dockerfile:

FROM java:8
VOLUME /tmp
ADD test-1.0-SNAPSHOT.jar app.jar
ENTRYPOINT ["java", "-Djava.security.egd=file:/dev/./urandom", "-Xdebug -Xrunjdwp:server=y,transport=dt_socket,suspend=n,address=8000", "-jar", "/app.jar"]
Run Code Online (Sandbox Code Playgroud)

Vagrantfile:

ENV['VAGRANT_DEFAULT_PROVIDER'] = 'docker'

Vagrant.configure("2") do |config|
  config.vm.define "app" do |a|
    a.vm.provider "docker" do |d|
      d.vagrant_machine = "dockerhost"
      d.vagrant_vagrantfile = "./Vagrant_docker_wrapper"
      d.build_dir = "."
      d.build_args = ["-t=app"]
      d.ports = ["8080:8080", "8000:8000"]

      d.name = "app"
      d.remains_running = true
      d.has_ssh = true
      d.cmd = ["run"]
    end
  end
end
Run Code Online (Sandbox Code Playgroud)

和Vagrant_docker_wrapper:

Vagrant.configure("2") do |config|

  config.vm.provision "docker"

  config.vm.provision "shell", inline: "ps aux | grep 'sshd:' | awk '{print $2}' …
Run Code Online (Sandbox Code Playgroud)

remote-debugging vagrant docker spring-boot

5
推荐指数
1
解决办法
1938
查看次数

查找 VS Code 中不适用于整个项目的所有引用

我在 VS Code 中打开了一个 JavaScript 项目。那里没有什么奇特的,所有的东西*.jsx?都在src文件夹中,webpack 捆绑的文件存储在 中dist,有几个依赖项在 中描述package.json并安装在 中node_modules

假设我在src文件夹中的某个位置有两个文件:A.jsx带有 React 组件A和带有使用 component 的B.jsxReact 组件。当我在 VS Code 中打开我的项目时,转到并询问代码,它只显示文件中的一个引用(带声明)。为了使 VS Code 能够显示引用,我需要打开,然后返回到,然后才会显示两个引用...BAA.jsxFind All ReferencesAA.jsxPropTypesB.jsxB.jsxA.jsx

A.js当文件被命名为和时,相同的场景可以正常工作B.js,问题似乎与*.jsx扩展名有关。

我想要的是一种找到整个项目中所有引用的方法,而无需打开所有文件,无论文件是否另存为或. 有办法实现这一点吗?.jsx.js

我已经尝试jsconfig.json

{
  "include": ["src/**/*", "src/**/*.jsx"]
}
Run Code Online (Sandbox Code Playgroud)

"files.associations": {
  "*.jsx": "javascriptreact"
}, …
Run Code Online (Sandbox Code Playgroud)

javascript configuration intellisense file-extension visual-studio-code

5
推荐指数
1
解决办法
9387
查看次数

忽略了spring mvc中的安全注释

我正在尝试配置spring安全注释,我已经设法在xml中设置spring安全配置(由intercept-url元素配置),但现在我想在我的bean中使用安全注释.但是在尝试访问安全控制器方法而没有记录时,完全忽略了安全注释.这是我的控制器bean:

package com.bill.controllers;

import org.springframework.security.access.annotation.Secured;
import org.springframework.stereotype.Controller;
import org.springframework.ui.ModelMap;
import org.springframework.web.bind.annotation.RequestMapping;

@Controller
public class MainController {

    @Secured({"ROLE_USER"})
    @RequestMapping("/index.html")
    public String main(ModelMap model) {
        model.addAttribute("test", "test");

        return "main";
    }
}
Run Code Online (Sandbox Code Playgroud)

和登录控制器:

package com.bill.controllers;

import org.springframework.stereotype.Controller;
import org.springframework.ui.ModelMap;
import org.springframework.web.bind.annotation.RequestMapping;

@Controller
public class LoginController {

    @RequestMapping("/login")
    public String login(ModelMap model) {
        return "login";
    }
}
Run Code Online (Sandbox Code Playgroud)

和配置:web.xml

<?xml version="1.0" encoding="UTF-8"?>

<web-app version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">

    <display-name>tests</display-name>

    <servlet>
        <servlet-name>spring</servlet-name>
        <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
        <load-on-startup>1</load-on-startup>
    </servlet>

    <servlet-mapping>
        <servlet-name>spring</servlet-name>
        <url-pattern>/</url-pattern>
    </servlet-mapping>

    <listener>
        <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
    </listener>

    <context-param>
        <param-name>contextConfigLocation</param-name>
        <param-value>
            /WEB-INF/spring-servlet.xml, …
Run Code Online (Sandbox Code Playgroud)

java security spring annotations spring-mvc

4
推荐指数
1
解决办法
3130
查看次数