小编try*_*arn的帖子

Maven自定义目录结构 - 尽管指定了sourceDirectory,但没有可编译的源代码

我正在使用自定义目录结构并在sourcedirectory标记中指定了目录.但我仍然得到消息No sources to compile.虽然构建成功.

我的目录结构:

在此输入图像描述

所以不是src/main/java,我正在使用java.(我有理由这样做,所以现在不可能切换到src/main/java)

这是我的pom.xml:

<artifactId>application</artifactId>  
  <name>application</name>
  <packaging>jar</packaging>

   <properties>
    <maven.compiler.source>1.8</maven.compiler.source>
    <maven.compiler.target>1.8</maven.compiler.target>
    <maven.test.skip>true</maven.test.skip>
  </properties>
    <build>
        <sourceDirectory>java</sourceDirectory>    
        <plugins>
          <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-compiler-plugin</artifactId>
            <version>3.7.0</version>
            <configuration>
              <source>1.8</source>
              <target>1.8</target>
              <excludes>
                    <exclude>**/old/**/*.java</exclude>
              </excludes>
              <includes>
                <include>java/com/**/*.java</include>            
              </includes>
            </configuration>
          </plugin>
          <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-jar-plugin</artifactId>
                <configuration>
                    <source>1.8</source>
                    <target>1.8</target>
                    <excludes>
                        <exclude>**/old/**/*.java</exclude>                 
                    </excludes>
                    <archive>
                        <manifest>
                        <addClasspath>true</addClasspath>
                        <classpathPrefix>lib/</classpathPrefix>
                        <mainClass>com.start.Start</mainClass>
                        </manifest>
                    </archive>
                </configuration>
           </plugin>
        </plugins>
      </build>
Run Code Online (Sandbox Code Playgroud)

当我运行命令时mvn clean package,我得到以下输出:

在此输入图像描述

源代码未编译,结果jar为空.我提到的使用自定义目录结构与maven的所有来源说使用sourceDirectory应该解决问题.但就我而言,它并没有解决

编辑

我使用自定义目录结构,因为使用标准目录结构对我不起作用.她的问题与此有关: 在eclipse maven中链接源文件夹时出错

EDIT2:

我在java目录中链接源代码.也就是说,在文件系统上,application-> java不存在,但是在eclipse中通过链接源选项,我已经从不同的目录添加了Java源文件夹.因此它出现在日食中.我还使用mvn命令行以及eclipse运行maven命令.

java eclipse maven-2 maven

12
推荐指数
1
解决办法
1512
查看次数

在自定义sourceDirectory的情况下,Eclipse maven构建路径问题

我已经将现有的Java项目转换为Maven项目,Maven在使用命令行时完美地构建了所有内容.

当我将相同的项目导入Eclipse并进行编译时(通过右键单击项目 - >作为Maven构建运行,它仍然可以编译而没有任何问题.

但是,我无法看到源文件夹.当我检查构建路径时,它会发出警告 - 缺少构建路径条目.

我没有使用标准,src/main/java因为我有一个预先存在的项目文件夹结构,无法更改.

这是我的pom(注意sourceDirectory标签):

<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>com.mycom</groupId>

  <artifactId>maven</artifactId>

  <version>17.4</version>

  <name>maven</name>

  <properties>

    <projecrt.rootDir>../../java</projecrt.rootDir>

  </properties>

   <build>

        <finalName>re</finalName>

        <sourceDirectory>${projecrt.rootDir}</sourceDirectory>
         <plugin>

              <groupId>org.apache.maven.plugins</groupId>

              <artifactId>maven-jar-plugin</artifactId>

              <version>2.4</version>

              <configuration>

                <archive>                 

                  <manifestEntries>

                    <Build-Version>${buildversion}</Build-Version>

                  </manifestEntries>

                </archive>

             </configuration>

          </plugin>

        </plugins>

    </build>  

</project>
Run Code Online (Sandbox Code Playgroud)

这是我的目录结构:

Src/java
----maven/pom.xml
----com/mycom/<...> // application code
Run Code Online (Sandbox Code Playgroud)

java eclipse maven maven-eclipse-plugin

10
推荐指数
2
解决办法
205
查看次数

Jacoco:查找外部测试的代码覆盖率

我最近在eclipse中使用EclEmma插件在我的应用程序中查找JUnits的代码覆盖率并且它工作得很好.

在下一步中,我希望能够找到端到端测试/功能测试的代码覆盖,这些测试/功能测试是从外部调用我们的应用程序(它们驻留在单独的服务器上).

基本上,我们将应用程序打包为jar(我们使用maven)并将其部署在服务器上.我们可以在这个位置触发功能测试.

在这种情况下,有没有办法找到代码覆盖?

代码覆盖工具如何工作(以原始语言)的理解是它加载类并根据已被命中的代码部分生成报告.因此,根据这种理解,我不需要访问测试代码.我只需要以某种方式插入的代码覆盖工具为我的应用程序罐子,每当这个罐子的任何代码被调用时,报告将被更新.我的理解是否正确?

注意:如果可以使用其他工具,我可以使用其他代码覆盖率工具.

java code-coverage maven jenkins jacoco

9
推荐指数
1
解决办法
2910
查看次数

vue-cli 3.0 ./src/main.js in multi (webpack)-dev-server/client?http://10.0.68.112:8080/sockjs-node (webpack)/hot/dev-server.js ./src /main.js

项目需求,main.js文件不在src根目录下,然后运行vue-cli-service serve出现如下错误

    * ./src/main.js in multi (webpack)-dev-server/client?http://10.0.68.112:8080/sockjs-node (webpack)/hot/dev-server.js ./src/main. js

文件目录 src->server->main.js

vue.config.js

    const SkeletonWebpackPlugin = require('vue-skeleton-webpack-plugin')
    const path = require('path')

    模块.出口 = {
      outputDir: process.env.CLIENT_NAME === 'client' ?'dist/client' : 'dist/server',
      配置Webpack:配置=> {
        如果(process.env.CLIENT_NAME === '客户端'){
          返回 {
            入口: {
              客户端:'./src/client/main.js'
            },
            插件: [
              新的 SkeletonWebpackPlugin({
                网络包配置:{
                  入口: {
                    客户端:path.join(__dirname, './src/client/entry-skeleton.js')
                  },
                  输出: {
                    图书馆目标:'commonjs2'
                  }
                }
              })
            ]
          }
        } 别的 {
          返回 {
            入口: {
              服务器:'./src/server/main.js'
            }
          }
        }
      }
    }

webpack vue.js

8
推荐指数
1
解决办法
3716
查看次数

提供配置弹簧安全的方法?

是否可以以从外部文件读取配置详细信息并相应配置的方式配置Spring安全性.

(我不是在运行时更改配置.我在谈论在启动时从文件中读取)

我现有 Sporing安全配置的一个示例是:

@EnableWebSecurity
@Configuration
public class SecurityConfig {

    @Bean                                                             
    public UserDetailsService userDetailsService() throws Exception {
        InMemoryUserDetailsManager manager = new InMemoryUserDetailsManager();
        manager.createUser(User.withUsername("user").password("userPass").roles("USER").build());
        manager.createUser(User.withUsername("admin").password("adminPass").roles("ADMIN").build());
        return manager;
    }


    @Configuration
    @Order(1)                                                        
    public static class ApiWebSecurityConfigurationAdapter extends WebSecurityConfigurerAdapter {

        @Override       
        public void configure(AuthenticationManagerBuilder auth) 
          throws Exception {            
            auth.inMemoryAuthentication().withUser("user").password("user").roles("USER");
            auth.inMemoryAuthentication().withUser("admin").password("admin").roles("ADMIN");
        }

        protected void configure(HttpSecurity http) throws Exception {
            http
                .antMatcher("/api/v1/**")                               
                .authorizeRequests()
                .antMatchers("/api/v1/**").authenticated()
                    .and()
                .httpBasic();
        }
    }

    @Configuration
    @Order(2)
    public static class FormLoginWebSecurityConfigurerAdapter extends WebSecurityConfigurerAdapter {

        @Override       
        public void configure(AuthenticationManagerBuilder auth) 
          throws Exception {

            auth.inMemoryAuthentication().withUser("user1").password("user").roles("USER"); …
Run Code Online (Sandbox Code Playgroud)

java spring spring-security spring-java-config

7
推荐指数
1
解决办法
1303
查看次数

Keycloak错误invalid_client不允许仅承载

我正在尝试部署一个使用keycloak保护的非常简单的REST服务,并遇到以下错误:

由以下原因引起:org.keycloak.authorization.client.util.HttpResponse.Exception:来自服务器的意外响应:400 /错误的请求/来自服务器的响应:(“错误”:“ invalid_client”,“ error_description”:“仅承载者” ”)

这个错误是什么意思?我该如何解决?

java rest http keycloak

7
推荐指数
1
解决办法
3380
查看次数

git push让我登录github.致命:遇到HttpRequestException

每次我推送我的更改,无论我在哪个分支,它都会提示输入用户名.输入用户名后,会弹出一个警告,提示我输入密码.一旦我这样做,那么就会推动变革.这刚刚开始发生,每次推送更改时输入我的登录信息都很烦人.有什么建议?

$ git push fatal:遇到HttpRequestException.发送请求时发生错误." https://github.com "的用户名:jhower

git github httprequest git-push

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

keycloak 403禁止访问访问REST API允许的其余资源时出错

我已经成功使用keycloak 4.1建立了身份验证。现在,我正在设置授权。

注意:

发布似乎比实际更长,因为它包含许多显示配置的图像。在以下SO帖子中也已提及:

与keycloak 403的wildfly集成禁止错误

403禁止错误,在访问密钥克隆中的ClientRepresentation时

Keycloak.loadUserProfile()上的Keycloak 403(禁止)

面对403禁止错误

与keycloak 403的wildfly集成禁止错误

更新:

我使用创建了另一个资源(即自动创建的未删除的默认资源)/*,现在看不到403。但是,当我在应用程序中放入调试器时,我看到在权限列表中仅存在此资源:

AuthorizationContext authzContext =  keycloakSecurityContext.getAuthorizationContext();
java.util.List<Permission> pems = authzContext.getPermissions();
Run Code Online (Sandbox Code Playgroud)

它仅包含默认资源,即带有的资源/*,当它也应在列表中包含资源test_role_resource时。(如果上述配置与获得身份验证的用户的权限,策略,角色匹配)

(原始帖子)问题:

对于所有配置(在下面共享),当我使用授权选项卡下的评估选项进行测试时,结果为允许:

在此处输入图片说明

但是,当我通过邮递员对此资源进行请求时,得到403。

在此处输入图片说明


组态:

1.根据文档,我创建了一个领域角色:role_special_user,并创建了一个具有该角色和角色user的用户:user_special

2.接下来,我的资源服务器/客户端如下所示,并启用完整范围

在此处输入图片说明

3.在授权选项卡下,我创建了一个资源,如下所示:

在此处输入图片说明 在此处输入图片说明

4.基于角色的策略是:

在此处输入图片说明

并使用以下权限映射到资源:

在此处输入图片说明

5.现在,keycloak json是:

{
  "realm": "demo12",
  "auth-server-url": "http://localhost:8180/auth",
  "ssl-required": "none",
  "resource": "server12",
  "credentials": {
    "secret": "XXXXXXX"
  },
  "confidential-port": 0,
  "policy-enforcer": {}
}
Run Code Online (Sandbox Code Playgroud)

6.和Keycloak Jetty适配器配置为:

final …
Run Code Online (Sandbox Code Playgroud)

java jboss jetty keycloak

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

应用内购买未登录 firebase android

将 Firebase Analytics 添加到我的 Android 应用后,应用内购买不会自动登录 Firebase。但在日志中它显示为事件记录..

V/FA-SVC (14957):记录的事件:事件{appId='com.xyz.abc', name='in_app_purchase(_iap)', params=Bundle[{quantity=1, firebase_event_origin(_o)=auto, 价格=270000000,价值=270000000,货币=INR,product_name=,product_id=com.com.xyz.abc.500coins}]}

在我的 Firebase 项目设置中,我什至链接了 Google Play 帐户并添加了 SHA-1 指纹。但我仍然在 Firebase 转换部分下看不到任何应用内购买日志。

android in-app-purchase in-app-billing firebase firebase-analytics

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

Java 8增强了带有索引/范围的循环

是否可以在Java中的for循环中指定索引/范围?

例如,我有一个列表: List<String> list;

我想从索引1而不是0运行一个for循环:

for(String s : list(start from index 1))
Run Code Online (Sandbox Code Playgroud)

或直到索引5

for(String s : list(end at index 5))
Run Code Online (Sandbox Code Playgroud)

我知道我可以使用传统的for循环,也可以在增强的for循环中保留一个计数器,但是我想知道Java或apache集合中是否有一些现成的东西?

java apache-commons java-8

6
推荐指数
4
解决办法
200
查看次数